@@ -84,14 +84,10 @@ #ifdef OF_HAVE_ATOMIC_OPS # import "atomic.h" #endif -#ifdef OF_DJGPP -# define lrint(x) rint(x) -#endif - #if defined(OF_HAVE_THREADS) # import "tlskey.h" # if defined(OF_AMIGAOS) && defined(OF_HAVE_SOCKETS) # import "socket.h" # endif @@ -248,11 +244,11 @@ svcSleepThread((int64_t)(timeInterval * 1000000000)); #elif defined(HAVE_NANOSLEEP) struct timespec rqtp; rqtp.tv_sec = (time_t)timeInterval; - rqtp.tv_nsec = lrint((timeInterval - rqtp.tv_sec) * 1000000000); + rqtp.tv_nsec = (timeInterval - rqtp.tv_sec) * 1000000000; if (rqtp.tv_sec != trunc(timeInterval)) @throw [OFOutOfRangeException exception]; nanosleep(&rqtp, NULL); @@ -273,12 +269,12 @@ #else if (timeInterval > UINT_MAX) @throw [OFOutOfRangeException exception]; sleep((unsigned int)timeInterval); - usleep((unsigned int)lrint( - (timeInterval - trunc(timeInterval)) * 1000000)); + usleep((unsigned int) + (timeInterval - (unsigned int)timeInterval) * 1000000); #endif } + (void)sleepUntilDate: (OFDate *)date {