summaryrefslogtreecommitdiff
path: root/xc/programs/Xserver/hw/xfree86/os-support/misc/Delay.c
diff options
context:
space:
mode:
Diffstat (limited to 'xc/programs/Xserver/hw/xfree86/os-support/misc/Delay.c')
-rw-r--r--xc/programs/Xserver/hw/xfree86/os-support/misc/Delay.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/xc/programs/Xserver/hw/xfree86/os-support/misc/Delay.c b/xc/programs/Xserver/hw/xfree86/os-support/misc/Delay.c
new file mode 100644
index 000000000..04fe5b0b5
--- /dev/null
+++ b/xc/programs/Xserver/hw/xfree86/os-support/misc/Delay.c
@@ -0,0 +1,28 @@
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/Delay.c,v 3.1 2000/08/04 16:13:41 eich Exp $ */
+
+#include "X.h"
+#include "xf86.h"
+#include "xf86Priv.h"
+#include "xf86_OSlib.h"
+
+#include <time.h>
+
+void
+xf86UDelay(long usec)
+{
+ struct timeval start, interrupt;
+
+ gettimeofday(&start,NULL);
+
+ do {
+ usleep(usec);
+ gettimeofday(&interrupt,NULL);
+
+ if ((usec = usec - (interrupt.tv_sec - start.tv_sec) * 1000000
+ - (interrupt.tv_usec - start.tv_usec)) < 0)
+ break;
+
+ } while (1);
+
+}
+