freebsd-dev/lib/libthr/thread
Eric van Gyzen 3f8455b090 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
2017-03-19 00:51:12 +00:00
..
Makefile.inc Implement process-shared locks support for libthr.so.3, without 2016-02-28 17:52:33 +00:00
thr_affinity.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_attr.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_autoinit.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_barrier.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_barrierattr.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_cancel.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_clean.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_concurrency.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_cond.c Do not leak curthread->inact_mtx when cancelling in pthread_cond_wait(3). 2016-12-06 17:13:17 +00:00
thr_condattr.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_create.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_ctrdtr.c Merge all the copies of _tcb_ctor and _tcb_dtor. 2015-01-21 16:41:05 +00:00
thr_detach.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_equal.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_event.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_exit.c libthr: coalesce repeated #if blocks 2017-01-25 20:19:48 +00:00
thr_fork.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_getcpuclockid.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_getprio.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_getschedparam.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_getthreadid_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_info.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_init.c Remove empty initializer for the once facility. It was not needed 2016-07-27 15:14:11 +00:00
thr_join.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_kern.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_kill.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_list.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_main_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_multi_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_mutex.c Revert r302194, there are issues with some applications after changing 2016-06-25 20:20:24 +00:00
thr_mutexattr.c Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
thr_once.c Remove empty initializer for the once facility. It was not needed 2016-07-27 15:14:11 +00:00
thr_printf.c libthr: _thread_vprintf: Enhance support for %p, %#x 2016-06-01 16:11:09 +00:00
thr_private.h Add clock_nanosleep() 2017-03-19 00:51:12 +00:00
thr_pshared.c Lock pshared_lock shared around fork, to ensure that the COW snapshot 2016-03-21 06:52:35 +00:00
thr_pspinlock.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_resume_np.c Do not leak THR_FLAGS_SUSPENDED from the previous suspend/resume 2016-05-05 10:20:22 +00:00
thr_rtld.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_rwlock.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_rwlockattr.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_self.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_sem.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_setprio.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_setschedparam.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_sig.c Do not leak THR_FLAGS_SUSPENDED from the previous suspend/resume 2016-05-05 10:20:22 +00:00
thr_single_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_sleepq.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_spec.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_spinlock.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_stack.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_suspend_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_switch_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_symbols.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_syscalls.c Add clock_nanosleep() 2017-03-19 00:51:12 +00:00
thr_umtx.c Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
thr_umtx.h Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
thr_yield.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00