X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/e1c08c2c174c75d7c5cd2ec5d0b974c6f240ba7e..5a142737faacf1a56c8f57e032244ef66cc2f27e:/projects/stargazer/stg_timer.cpp

diff --git a/projects/stargazer/stg_timer.cpp b/projects/stargazer/stg_timer.cpp
index b17153cf..235c669e 100644
--- a/projects/stargazer/stg_timer.cpp
+++ b/projects/stargazer/stg_timer.cpp
@@ -2,8 +2,9 @@
 
 #include <ctime>
 #include <cstring>
+#include <csignal>
 
-#include "common.h"
+#include "stg/common.h"
 
 static int nonstop;
 static pthread_t thrStgTimer;
@@ -54,21 +55,25 @@ switch (START_TIME)
         stgTime = mktime(&lt);
         break;
     }
+#else
+stgTime = time(NULL);
 #endif
 
+sigset_t signalSet;
+sigfillset(&signalSet);
+pthread_sigmask(SIG_BLOCK, &signalSet, NULL);
+
 nonstop = 1;
 isTimerRunning = true;
 while (nonstop)
     {
     #ifdef STG_TIMER_DEBUG
     struct timespec ts = {0, 1000000000 / TIME_SPEED};
-    nanosleep(&ts);
-    //usleep(1000000 / TIME_SPEED);
+    nanosleep(&ts, NULL);
     stgTime++;
     #else
     struct timespec ts = {0, 500000000};
-    nanosleep(&ts);
-    //usleep(500000);
+    nanosleep(&ts, NULL);
     stgTime = time(NULL);
     #endif
     }
@@ -109,12 +114,10 @@ int stgUsleep(unsigned long t)
 {
 #ifdef STG_TIMER_DEBUG
 struct timespec ts = {(t / TIME_SPEED) / 1000000, ((t / TIME_SPEED) % 1000000) * 1000};
-return nanosleep(&ts);
-//return usleep(t / TIME_SPEED);
+return nanosleep(&ts, NULL);
 #else
 struct timespec ts = {t / 1000000, (t % 1000000) * 1000};
-return nanosleep(&ts);
-//return usleep(t);
+return nanosleep(&ts, NULL);
 #endif
 }
 //-----------------------------------------------------------------------------