-#elif HAVE_USLEEP
- sleep(sec);
- (void) usleep((sec - floor(sec)) * 1000000);
-
-#else /* don't have usleep. Use select to sleep less than one second */
+#elif HAVE_NANOSLEEP
+ struct timespec ts;
+ ts.tv_sec = sec;
+ ts.tv_nsec = (sec - floor(sec)) * 1e9;
+ nanosleep (&ts, NULL);
+#else /* don't have nanosleep. Use select to sleep less than one second */