summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.c')
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.c b/libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.c
new file mode 100644
index 000000000..73fae44bc
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.c
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2017 Waldemar Brodkorb <wbx@uclibc-ng.org>
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
+#include <time.h>
+#include <cancel.h>
+
+/* Pause execution for a number of nanoseconds. */
+int
+nanosleep (const struct timespec *requested_time,
+ struct timespec *remaining)
+{
+ return _syscall2(int, __NC(nanosleep), const struct timespec*,
+ requested_time, struct timespec* remaining)
+}
+
+CANCELLABLE_SYSCALL(int, nanosleep, (const struct timespec *requested_time,
+ struct timespec *remaining), (requested_time, remaining))
+
+lt_libc_hidden(nanosleep)