From 9d2a06d506a653d3d200fc19cd6400efb5a14b1c Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Mon, 12 Jan 2015 21:38:29 +0100 Subject: [PATCH] CTimeThread: sectionsd.cpp: use thread save localtime_r Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/76ca33de9fe173e9338a5522e61ad03ea59f3916 Author: Thilo Graf Date: 2015-01-12 (Mon, 12 Jan 2015) --- src/eitd/sectionsd.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/eitd/sectionsd.cpp b/src/eitd/sectionsd.cpp index dedd55092..210489723 100644 --- a/src/eitd/sectionsd.cpp +++ b/src/eitd/sectionsd.cpp @@ -37,7 +37,7 @@ #include #include #include - +#include #include #include @@ -1370,12 +1370,12 @@ void CTimeThread::waitForTimeset(void) void CTimeThread::setSystemTime(time_t tim) { struct timeval tv; - + struct tm t; time_t now = time(NULL); - struct tm *tmTime = localtime(&now); + struct tm *tmTime = localtime_r(&now, &t); gettimeofday(&tv, NULL); - timediff = (int64_t)tim * (int64_t)1000000 - (tv.tv_usec + tv.tv_sec * (int64_t)1000000); + timediff = int64_t(tim * 1000000 - (tv.tv_usec + tv.tv_sec * 1000000)); xprintf("%s: timediff %" PRId64 ", current: %02d.%02d.%04d %02d:%02d:%02d, dvb: %s", name.c_str(), timediff, tmTime->tm_mday, tmTime->tm_mon+1, tmTime->tm_year+1900, @@ -1392,8 +1392,8 @@ void CTimeThread::setSystemTime(time_t tim) return; if (timeset && abs(tim - tv.tv_sec) < 120) { /* abs() is int */ struct timeval oldd; - tv.tv_sec = timediff / 1000000LL; - tv.tv_usec = timediff % 1000000LL; + tv.tv_sec = time_t(timediff / 1000000LL); + tv.tv_usec = suseconds_t(timediff % 1000000LL); if (adjtime(&tv, &oldd)) xprintf("adjtime(%d, %d) failed: %m\n", (int)tv.tv_sec, (int)tv.tv_usec); else {