summaryrefslogtreecommitdiff
path: root/klibc/klibc/usleep.c
diff options
context:
space:
mode:
Diffstat (limited to 'klibc/klibc/usleep.c')
-rw-r--r--klibc/klibc/usleep.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/klibc/klibc/usleep.c b/klibc/klibc/usleep.c
new file mode 100644
index 0000000000..b63352eebf
--- /dev/null
+++ b/klibc/klibc/usleep.c
@@ -0,0 +1,15 @@
+/*
+ * usleep.c
+ */
+
+#include <errno.h>
+#include <time.h>
+
+void usleep(unsigned long usec)
+{
+ struct timespec ts;
+
+ ts.tv_sec = usec/1000000UL;
+ ts.tv_nsec = (usec%1000000UL) * 1000;
+ while ( nanosleep(&ts,&ts) == -1 && errno == EINTR );
+}