X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/8e80bb9cec2c90dd61f810fb1525932a434288eb..cea081452750a357baae9edf2764dcd4f3b78ca9:/projects/stargazer/plugins/other/ping/ping.h?ds=inline

diff --git a/projects/stargazer/plugins/other/ping/ping.h b/projects/stargazer/plugins/other/ping/ping.h
index 9986be39..6a828112 100644
--- a/projects/stargazer/plugins/other/ping/ping.h
+++ b/projects/stargazer/plugins/other/ping/ping.h
@@ -10,10 +10,13 @@
 
 #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
@@ -92,7 +95,6 @@ friend class CHG_CURRIP_NOTIFIER_PING;
 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; }
@@ -118,7 +120,7 @@ private:
     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;
@@ -126,9 +128,8 @@ private:
     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;