5 #ifdef HAVE_SYS_SELECT_H
6 # include <sys/select.h>
9 # include <sys/types.h>
13 void usleep(long usec)
17 tv.tv_sec = usec / 1000000;
18 tv.tv_usec = usec % 1000000;
19 select(0, NULL, NULL, NULL, &tv);
24 /* usleep implementation from FreeSCI */
28 void usleep (long usec)
30 LARGE_INTEGER lFrequency;
31 LARGE_INTEGER lEndTime;
32 LARGE_INTEGER lCurTime;
34 QueryPerformanceFrequency (&lFrequency);
35 if (lFrequency.QuadPart) {
36 QueryPerformanceCounter (&lEndTime);
37 lEndTime.QuadPart += (LONGLONG) usec *
38 lFrequency.QuadPart / 1000000;
40 QueryPerformanceCounter (&lCurTime);
42 } while (lCurTime.QuadPart < lEndTime.QuadPart);
48 #endif /* !HAVE_USLEEP */