summaryrefslogtreecommitdiffstats
path: root/lib/librthread/rthread_cancel.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove "#define _POSIX_THREADS" line before include <pthread.h>.miod2012-04-171-3/+1
| | | | The latter contains "#define _POSIX_THREADS 1" which makes gcc 2.95 complain.
* closefrom() should be a cancellation pointguenther2012-03-221-2/+16
|
* Reimplement mutexes, condvars, and rwlocks to eliminate bugs,guenther2012-01-171-4/+28
| | | | | | | | | | | | | 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.
* Delete some parameter names and extra semicolons that slipped throughguenther2012-01-041-5/+5
|
* Don't let applications block, wait for, or handle SIGTHR, as theguenther2011-12-271-2/+4
| | | | thread library uses it internally for cancellation.
* Implement cancelation for the basic syscall cancelation points,guenther2011-12-051-0/+524
using previously allocated SIGTHR to interrupt in-process syscalls and fixing the spelling of "cancelled" along the way. Modeled on FreeBSD's libthr