path: root/lib/libc/sys/interposing_table.c
diff options
authorEric van Gyzen <vangyzen@FreeBSD.org>2017-03-19 00:51:12 +0000
committerEric van Gyzen <vangyzen@FreeBSD.org>2017-03-19 00:51:12 +0000
commit3f8455b0905a05552b1155e09165787e1d098060 (patch)
tree7e464dbfe7b8012fa2a68d9d0a7b2d3a07b11df3 /lib/libc/sys/interposing_table.c
parenta776eeafdcaae027734542d69612d35971b55c1c (diff)
Add clock_nanosleep()
Add a clock_nanosleep() syscall, as specified by POSIX. Make nanosleep() a wrapper around it. Attach the clock_nanosleep test from NetBSD. Adjust it for the FreeBSD behavior of updating rmtp only when interrupted by a signal. I believe this to be POSIX-compliant, since POSIX mentions the rmtp parameter only in the paragraph about EINTR. This is also what Linux does. (NetBSD updates rmtp unconditionally.) Copy the whole nanosleep.2 man page from NetBSD because it is complete and closely resembles the POSIX description. Edit, polish, and reword it a bit, being sure to keep any relevant text from the FreeBSD page. Reviewed by: kib, ngie, jilles MFC after: 3 weeks Relnotes: yes Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D10020
Notes: svn path=/head/; revision=315526
Diffstat (limited to 'lib/libc/sys/interposing_table.c')
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/libc/sys/interposing_table.c b/lib/libc/sys/interposing_table.c
index 1447e42ef238..faf1e6ceeb68 100644
--- a/lib/libc/sys/interposing_table.c
+++ b/lib/libc/sys/interposing_table.c
@@ -80,6 +80,7 @@ interpos_func_t __libc_interposing[INTERPOS_MAX] = {
SLOT(ppoll, __sys_ppoll),
SLOT(map_stacks_exec, __libc_map_stacks_exec),
SLOT(fdatasync, __sys_fdatasync),
+ SLOT(clock_nanosleep, __sys_clock_nanosleep),
#undef SLOT