*** src/lib/omnithread/nt.cc Thu Mar 11 16:31:27 1999 --- newsrc/lib/omnithread/nt.cc Mon Mar 29 19:15:48 1999 *************** *** 228,237 **** get_time_now(&now_sec, &now_nsec); ! DWORD timeout = (abs_sec-now_sec) * 1000 + (abs_nsec-now_nsec) / 1000000; ! if ((abs_sec <= now_sec) && ((abs_sec < now_sec) || (abs_nsec < abs_nsec))) ! timeout = 0; DWORD result = WaitForSingleObject(me->cond_semaphore, timeout); --- 228,242 ---- get_time_now(&now_sec, &now_nsec); ! DWORD timeout; ! if ((abs_sec <= now_sec) && ((abs_sec < now_sec) || (abs_nsec < now_nsec))) ! timeout = 0; ! else { ! timeout = (abs_sec-now_sec) * 1000; ! if( abs_nsec < now_nsec ) timeout -= (now_nsec-abs_nsec) / 1000000; ! else timeout += (abs_nsec-now_nsec) / 1000000; ! } DWORD result = WaitForSingleObject(me->cond_semaphore, timeout);