git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix rscript plugin compilation errors
[stg.git]
/
projects
/
stargazer
/
stg_timer.cpp
diff --git
a/projects/stargazer/stg_timer.cpp
b/projects/stargazer/stg_timer.cpp
index 79844ba3213fca734ce2771b5f1a96f6e9a83a53..6d2b4b0cdd245a28a33db648ba631befa64f123a 100644
(file)
--- a/
projects/stargazer/stg_timer.cpp
+++ b/
projects/stargazer/stg_timer.cpp
@@
-1,6
+1,6
@@
-#include <unistd.h>
#include <pthread.h>
#include <pthread.h>
+#include <ctime>
#include <cstring>
#include "common.h"
#include <cstring>
#include "common.h"
@@
-33,7
+33,7
@@
struct tm lt;
memset(<, 0, sizeof(lt));
lt.tm_year = 2007 - 1900; // 2005
memset(<, 0, sizeof(lt));
lt.tm_year = 2007 - 1900; // 2005
-lt.tm_mon = 1
0
- 1; // Nov
+lt.tm_mon = 1
1
- 1; // Nov
lt.tm_hour = 23; // 23 h
lt.tm_min = 57; // 50 min
lt.tm_sec = 0; // 00 sec
lt.tm_hour = 23; // 23 h
lt.tm_min = 57; // 50 min
lt.tm_sec = 0; // 00 sec
@@
-54,6
+54,8
@@
switch (START_TIME)
stgTime = mktime(<);
break;
}
stgTime = mktime(<);
break;
}
+#else
+stgTime = time(NULL);
#endif
nonstop = 1;
#endif
nonstop = 1;
@@
-61,11
+63,15
@@
isTimerRunning = true;
while (nonstop)
{
#ifdef STG_TIMER_DEBUG
while (nonstop)
{
#ifdef STG_TIMER_DEBUG
- usleep(1000000 / TIME_SPEED);
+ struct timespec ts = {0, 1000000000 / TIME_SPEED};
+ nanosleep(&ts, NULL);
+ //usleep(1000000 / TIME_SPEED);
stgTime++;
#else
stgTime++;
#else
+ struct timespec ts = {0, 500000000};
+ nanosleep(&ts, NULL);
+ //usleep(500000);
stgTime = time(NULL);
stgTime = time(NULL);
- usleep(500000);
#endif
}
isTimerRunning = false;
#endif
}
isTimerRunning = false;
@@
-104,9
+110,13
@@
return isTimerRunning;
int stgUsleep(unsigned long t)
{
#ifdef STG_TIMER_DEBUG
int stgUsleep(unsigned long t)
{
#ifdef STG_TIMER_DEBUG
-return usleep(t / TIME_SPEED);
+struct timespec ts = {(t / TIME_SPEED) / 1000000, ((t / TIME_SPEED) % 1000000) * 1000};
+return nanosleep(&ts, NULL);
+//return usleep(t / TIME_SPEED);
#else
#else
-return usleep(t);
+struct timespec ts = {t / 1000000, (t % 1000000) * 1000};
+return nanosleep(&ts, NULL);
+//return usleep(t);
#endif
}
//-----------------------------------------------------------------------------
#endif
}
//-----------------------------------------------------------------------------
@@
-116,5
+126,3
@@
void WaitTimer()
stgUsleep(200000);
}
//-----------------------------------------------------------------------------
stgUsleep(200000);
}
//-----------------------------------------------------------------------------
-
-