THR_WAKE(2) | System Calls Manual | THR_WAKE(2) |
thr_wake
— wake up
the suspended thread
Standard C Library (libc, -lc)
#include
<sys/thr.h>
int
thr_wake
(long
id);
Passing the thread identifier of the calling thread
(see thr_self(2)) to
thr_wake
()
sets a thread's flag to cause the next signal-interruptible sleep of that
thread in the kernel to fail immediately with the
EINTR
error. The flag is cleared by an interruptible
sleep attempt or by a call to thr_suspend(2). This is used
by the system threading library to implement cancellation.
If id is not equal to the current thread
identifier, the specified thread is woken up if suspended by the
thr_suspend system call. If the thread is not suspended at
the time of the thr_wake
call, the wake is
remembered and the next attempt of the thread to suspend itself with the
thr_suspend(2) results in immediate return with success.
Only one wake is remembered.
The thr_wake
() 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_wake
() operation returns these
errors:
ESRCH
]ps(1), thr_self(2), thr_suspend(2), pthread_cancel(3), pthread_resume_np(3), pthread_suspend_np(3)
The thr_suspend
() system call is
non-standard and is used by 1:1 Threading Library (libthr,
-lthr) to implement IEEE Std 1003.1-2001
(“POSIX.1”) pthread(3)
functionality.
September 23, 2016 | Debian |