From 18dee384ecaf72b8f38cd51c479157907b296a79 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 9 Jun 2017 12:20:16 -0500 Subject: [PATCH] Fix tv_sec casts to use time_t, not long --- src/libCom/fdmgr/fdManager.cpp | 2 +- src/libCom/osi/os/Darwin/osdTime.cpp | 2 +- src/libCom/osi/os/posix/osdTime.cpp | 2 +- src/libCom/test/fdmgrTest.c | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libCom/fdmgr/fdManager.cpp b/src/libCom/fdmgr/fdManager.cpp index 4cc67d360..d8498ed5c 100644 --- a/src/libCom/fdmgr/fdManager.cpp +++ b/src/libCom/fdmgr/fdManager.cpp @@ -116,7 +116,7 @@ epicsShareFunc void fdManager::process (double delay) if ( ioPending ) { struct timeval tv; - tv.tv_sec = static_cast ( minDelay ); + tv.tv_sec = static_cast ( minDelay ); tv.tv_usec = static_cast ( (minDelay-tv.tv_sec) * uSecPerSec ); fd_set * pReadSet = & this->fdSetsPtr[fdrRead]; diff --git a/src/libCom/osi/os/Darwin/osdTime.cpp b/src/libCom/osi/os/Darwin/osdTime.cpp index bf16aea3a..03c549cad 100644 --- a/src/libCom/osi/os/Darwin/osdTime.cpp +++ b/src/libCom/osi/os/Darwin/osdTime.cpp @@ -72,7 +72,7 @@ convertDoubleToWakeTime(double timeout, struct timespec *wakeTime) if (timeout < 0.0) timeout = 0.0; - wait.tv_sec = static_cast< long >(timeout); + wait.tv_sec = static_cast< time_t >(timeout); wait.tv_nsec = static_cast< long >((timeout - (double)wait.tv_sec) * 1e9); wakeTime->tv_sec = now.tv_sec + wait.tv_sec; diff --git a/src/libCom/osi/os/posix/osdTime.cpp b/src/libCom/osi/os/posix/osdTime.cpp index 718b1d95d..b0d288969 100644 --- a/src/libCom/osi/os/posix/osdTime.cpp +++ b/src/libCom/osi/os/posix/osdTime.cpp @@ -107,7 +107,7 @@ extern "C" epicsShareFunc void perror("convertDoubleToWakeTime"); cantProceed("convertDoubleToWakeTime"); } - wait.tv_sec = static_cast< long >(timeout); + wait.tv_sec = static_cast< time_t >(timeout); wait.tv_nsec = static_cast< long >((timeout - (double)wait.tv_sec) * 1e9); wakeTime->tv_sec += wait.tv_sec; wakeTime->tv_nsec += wait.tv_nsec; diff --git a/src/libCom/test/fdmgrTest.c b/src/libCom/test/fdmgrTest.c index 86857c6f5..e41784ccf 100644 --- a/src/libCom/test/fdmgrTest.c +++ b/src/libCom/test/fdmgrTest.c @@ -74,13 +74,13 @@ void testTimer (fdctx *pfdm, double delay) epicsTimeGetCurrent (&begin); cbs.done = 0; - tmo.tv_sec = (unsigned long) delay; + tmo.tv_sec = (time_t) delay; tmo.tv_usec = (unsigned long) ((delay - tmo.tv_sec) * uSecPerSec); aid = fdmgr_add_timeout (pfdm, &tmo, alarmCB, &cbs); verify (aid!=fdmgrNoAlarm); while (!cbs.done) { - tmo.tv_sec = (unsigned long) delay; + tmo.tv_sec = (time_t) delay; tmo.tv_usec = (unsigned long) ((delay - tmo.tv_sec) * uSecPerSec); status = fdmgr_pend_event (pfdm, &tmo); verify (status==0);