THR_SUSPEND(2) | System Calls Manual | THR_SUSPEND(2) |
thr_suspend
—
suspend the calling thread
Standard C Library (libc, -lc)
#include
<sys/thr.h>
int
thr_suspend
(struct
timespec *timeout);
The
thr_suspend
()
system call puts the calling thread in a suspended state, where it is not
eligible for CPU time. This state is exited by another thread calling
thr_wake(2), when the time interval specified by
timeout has elapsed, or by the delivery of a signal to
the suspended thread.
If the timeout argument is
NULL
, the suspended state can be only terminated by
explicit
thr_wake
()
or signal.
If a wake from thr_wake(2) was delivered before
the thr_suspend
call, the thread is not put into a
suspended state. Instead, the call returns immediately without an error.
If a thread previously called thr_wake(2) with
its own thread identifier, which resulted in setting the internal kernel
flag to immediately abort interruptible sleeps with an
EINTR
error (see thr_wake(2)), the
flag is cleared. As with thr_wake(2) called from another
thread, the next thr_suspend
call does not result in
suspension.
The thr_suspend
() function returns the
value 0 if successful; otherwise the value -1 is returned and
the global variable errno is set to indicate the
error.
The thr_suspend
() operation returns the
following errors:
ps(1), thr_wake(2), pthread_resume_np(3), pthread_suspend_np(3)
The thr_suspend
() system call is
non-standard.
September 23, 2016 | Debian |