-#include <pthread.h>
+#include "stg_timer.h"
+
+#include "stg/common.h"
#include <ctime>
#include <cstring>
#include <csignal>
-#include "stg/common.h"
-
-#include "stg_timer.h"
+#include <pthread.h>
void * StgTimer(void *);
static bool isTimerRunning = false;
volatile time_t stgTime;
+#ifdef STG_TIMER_DEBUG
const int TIME_SPEED = 1;
/*
1 - 1x speed
10 - 10x speed
*/
-const int START_TIME = 0;
+const int START_TIME = 2;
/*
0 - as is
1 - start before new day (3 min before) 29.11.2005 23:57:00
2 - start before new month (3 min before) 30.11.2005 23:57:00
*/
+#endif
//-----------------------------------------------------------------------------
void * StgTimer(void *)
struct tm lt;
memset(<, 0, sizeof(lt));
-lt.tm_year = 2007 - 1900; // 2005
-lt.tm_mon = 11 - 1; // Nov
+lt.tm_year = 2016 - 1900; // 2005
+lt.tm_mon = 7 - 1; // Nov
lt.tm_hour = 23; // 23 h
lt.tm_min = 57; // 50 min
lt.tm_sec = 0; // 00 sec
+lt.tm_isdst = -1;
switch (START_TIME)
{
break;
case 2:
- lt.tm_mday = 30;
+ lt.tm_mday = 31;
stgTime = mktime(<);
break;
}
while (nonstop)
{
#ifdef STG_TIMER_DEBUG
- struct timespec ts = {0, 1000000000 / TIME_SPEED};
+ struct timespec ts;
+ if (TIME_SPEED == 1)
+ {
+ ts.tv_sec = 1;
+ ts.tv_nsec = 0;
+ }
+ else
+ {
+ ts.tv_sec = 0;
+ ts.tv_nsec = 1000000000 / TIME_SPEED;
+ }
nanosleep(&ts, NULL);
stgTime++;
#else