CVSROOT:        /cvs
Module name:    src
Changes by:     guent...@cvs.openbsd.org        2012/01/16 19:34:18

Modified files:
        sys/kern       : init_sysent.c kern_exit.c kern_sig.c 
                         kern_synch.c syscalls.c syscalls.master 
        sys/sys        : syscall.h syscallargs.h 
        lib/libc       : shlib_version 
        lib/libc/arch/amd64: Makefile.inc 
        lib/libc/arch/amd64/string: Makefile.inc 
        lib/libc/sys   : Makefile.inc 
        lib/librthread : rthread.c rthread.h rthread_cancel.c 
                         rthread_file.c rthread_rwlock.c rthread_sem.c 
                         rthread_sig.c rthread_sync.c shlib_version 
        lib/librthread/arch/alpha: rfork_thread.S 
        lib/librthread/arch/amd64: rfork_thread.S 
        lib/librthread/arch/arm: rfork_thread.S 
        lib/librthread/arch/hppa: rfork_thread.S 
        lib/librthread/arch/i386: rfork_thread.S 
        lib/librthread/arch/m68k: rfork_thread.S 
        lib/librthread/arch/m88k: rfork_thread.S 
        lib/librthread/arch/mips64: rfork_thread.S 
        lib/librthread/arch/powerpc: rfork_thread.S 
        lib/librthread/arch/sh: rfork_thread.S 
        lib/librthread/arch/sparc: rfork_thread.S 
        lib/librthread/arch/sparc64: rfork_thread.S 
        lib/librthread/arch/vax: rfork_thread.S 

Log message:
Reimplement mutexes, condvars, and rwlocks to eliminate bugs,
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.

Reply via email to