-void xbt_os_sleep(double sec) {
-#ifdef HAVE_USLEEP
- DEBUG1("Do sleep %f sec", sec);
- sleep(sec);
- (void)usleep( (sec - floor(sec)) * 1000000);
-
-#elif _WIN32
- DEBUG1("Do sleep %f sec", sec);
-
- Sleep((floor(sec) * 1000) +((sec - floor(sec)) * 1000));
-
-
-#else /* don't have usleep. Use select to sleep less than one second */
- struct timeval timeout;
-
- DEBUG1("Do sleep %f sec", sec);
-
- timeout.tv_sec = (unsigned long)(sec);
- timeout.tv_usec = (sec - floor(sec)) * 1000000;
-
- select(0, NULL, NULL, NULL, &timeout);
-#endif