actually been reached. There has been examples where the time
expired early by one second probably due a resolution error. This
caused a scheduled update to be missed. Broken in rev. 1.56.
empth_t *pThread = TlsGetValue(dwTLSIndex);
int iReturn = 0;
empth_t *pThread = TlsGetValue(dwTLSIndex);
int iReturn = 0;
- if ((lSec = until - time(0)) > 0) {
+ while (!iReturn && ((lSec = until - time(0)) > 0)) {
loc_BlockThisThread();
loc_debug("going to sleep %ld sec", lSec);
loc_BlockThisThread();
loc_debug("going to sleep %ld sec", lSec);