1 /* xscreensaver, Copyright (c) 1992, 1996, 1997, 2003
2 * Jamie Zawinski <jwz@jwz.org>
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that
7 * copyright notice and this permission notice appear in supporting
8 * documentation. No representations are made about the suitability of this
9 * software for any purpose. It is provided "as is" without express or
15 #else /* !HAVE_CONFIG_H */
19 #endif /* !HAVE_CONFIG_H */
32 # include <lib$routines.h>
33 #elif defined(HAVE_SELECT)
34 # include <sys/time.h> /* for struct timeval */
38 #ifdef __SCREENHACK_USLEEP_H__
39 ERROR, do not include that here
43 screenhack_usleep (unsigned long usecs)
46 float seconds = ((float) usecs)/1000000.0;
47 unsigned long int statvms = lib$wait(&seconds);
49 #elif defined(HAVE_SELECT)
50 /* usleep() doesn't exist everywhere, and select() is faster anyway. */
52 tv.tv_sec = usecs / 1000000L;
53 tv.tv_usec = usecs % 1000000L;
54 (void) select (0, 0, 0, 0, &tv);
56 #else /* !VMS && !HAVE_SELECT */
57 /* If you don't have select() or usleep(), I guess you lose...
58 Maybe you have napms() instead? Let me know. */
61 #endif /* !VMS && !HAVE_SELECT */