]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/authorization/stress/stress.cpp
Fix occasional crash on second and more reload in SMUX plugin
[stg.git] / projects / stargazer / plugins / authorization / stress / stress.cpp
index 481444b520e983eada0d1bb59548a8f3b8f562a7..39e74b0d44a18c653030857787ed26907a435021 100644 (file)
 #include "stg/user.h"
 #include "stg/common.h"
 #include "stg/user_property.h"
+#include "stg/plugin_creator.h"
 
 #include "stress.h"
 
-class STRESS_CREATOR
-{
-private:
-    AUTH_STRESS * dc;
-
-public:
-    STRESS_CREATOR()
-        {
-        printfd(__FILE__, "constructor STRESS_CREATOR\n");
-        dc = new AUTH_STRESS();
-        };
-    ~STRESS_CREATOR()
-        {
-        printfd(__FILE__, "destructor STRESS_CREATOR\n");
-        delete dc;
-        };
-
-    PLUGIN * GetPlugin()
-    {
-        return dc;
-    };
-};
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
-STRESS_CREATOR stressc;
+PLUGIN_CREATOR<AUTH_STRESS> stressc;
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
@@ -197,7 +176,8 @@ if (isRunning)
         {
         if (!isRunning)
             break;
-        usleep(200000);
+        struct timespec ts = {0, 200000000};
+        nanosleep(&ts, NULL);
         }
 
     //after 5 seconds waiting thread still running. now killing it
@@ -225,12 +205,12 @@ return isRunning;
 //-----------------------------------------------------------------------------
 uint16_t AUTH_STRESS::GetStartPosition() const
 {
-return 70;
+return 30;
 }
 //-----------------------------------------------------------------------------
 uint16_t AUTH_STRESS::GetStopPosition() const
 {
-return 70;
+return 30;
 }
 //-----------------------------------------------------------------------------
 void AUTH_STRESS::SetUserNotifiers(USER_PTR u)