| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
support is needed before they can be usefully enabled but I don't want
to misplace this diff yet again
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
particularly the "consume the signal you just sent" hang, and putting
the wait queues in userspace.
Do cancellation handling in pthread_cond_*wait(), pthread_join(),
and sem_wait().
Add __ prefix to thr{sleep,wakeup,exit,sigdivert}() syscalls; add
'abort" argument to thrsleep to close cancellation race; make
thr{sleep,wakeup} return errno values via *retval to avoid touching
userspace errno.
|
|
|
|
| |
thread library uses it internally for cancellation.
|
|
|
|
|
|
| |
using previously allocated SIGTHR to interrupt in-process syscalls
and fixing the spelling of "cancelled" along the way.
Modeled on FreeBSD's libthr
|
| |
|
|
|
|
|
|
|
| |
and struct timespec * argument. sigtimedwait is just a one line
wrapper after this.
"get it in" deraadt@, tedu@, cheers by others
|
|
|
|
|
|
| |
finally reading the lint warnings (sigh)
ok tedu@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
signal is already pending in the calling thread or the main thread
and there's no longer a race condition where the signal could be
diverted but sigwait() would still block. There were some off-by-one
errors too.
(The checking of the main thread's pending list is just until a
pending list for the process can be added to struct process. For
now, such signals end up as pending on the main thread.)
oks tedu@ and art@
|
|
|
|
|
|
|
| |
sigprocmask(2) in threaded programs.
From Philip Guenther <guenther at sendmail.com> via PR library/5795.
okay marc@
|
|
|
|
| |
update for new thrwakeup that takes a count argument
|
| |
|
| |
|
|
|