#include <string>
#include <list>
+#include <mutex>
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wshadow"
+#include <jthread.hpp>
+#pragma GCC diagnostic pop
#include <cstdint>
-#include <pthread.h>
-
class PING;
namespace STG
friend class CHG_IPS_NOTIFIER_PING;
public:
PING();
- ~PING() override;
void SetUsers(STG::Users * u) override { users = u; }
void SetSettings(const STG::ModuleSettings & s) override { settings = s; }
void GetUsers();
void SetUserNotifiers(UserPtr u);
void UnSetUserNotifiers(UserPtr u);
- static void * Run(void * d);
+ void Run(std::stop_token token);
mutable std::string errorStr;
PING_SETTINGS pingSettings;
STG::Users * users;
std::list<UserPtr> usersList;
- pthread_t thread;
- pthread_mutex_t mutex;
- bool nonstop;
+ std::jthread m_thread;
+ std::mutex m_mutex;
bool isRunning;
mutable STG_PINGER pinger;