X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/e1c08c2c174c75d7c5cd2ec5d0b974c6f240ba7e..e960de70f53203f3a3ef91dac8063921552e53ad:/projects/stargazer/stg_timer.cpp?ds=sidebyside 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 #include +#include -#include "common.h" +#include "stg/common.h" static int nonstop; static pthread_t thrStgTimer; @@ -54,21 +55,25 @@ switch (START_TIME) stgTime = mktime(<); 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 } //-----------------------------------------------------------------------------