cvs commit: src/lib/libpthread pthread.map
src/lib/libpthread/sys thr_error.c src/lib/libpthread/thread
thr_cancel.c thr_clean.c thr_concurrency.c thr_cond.c thr_create.c
thr_fork.c thr_init.c thr_kern.c thr_mutex.c thr_once.c
thr_private.h thr_sem.c ...
John Baldwin
jhb at FreeBSD.org
Mon Dec 20 12:40:48 PST 2004
On Saturday 18 December 2004 01:07 pm, Daniel Eischen wrote:
> deischen 2004-12-18 18:07:37 UTC
>
> FreeBSD src repository
>
> Modified files:
> lib/libpthread pthread.map
> lib/libpthread/sys thr_error.c
> lib/libpthread/thread thr_cancel.c thr_clean.c
> thr_concurrency.c thr_cond.c
> thr_create.c thr_fork.c thr_init.c
> thr_kern.c thr_mutex.c thr_once.c
> thr_private.h thr_sem.c thr_sig.c
> thr_sigsuspend.c thr_spinlock.c
> Log:
> Use a generic way to back threads out of wait queues when handling
> signals instead of having more intricate knowledge of thread state
> within signal handling.
>
> Simplify signal code because of above (by David Xu).
>
> Use macros for libpthread usage of pthread_cleanup_push() and
> pthread_cleanup_pop(). This removes some instances of malloc()
> and free() from the semaphore and pthread_once() implementations.
>
> When single threaded and forking(), make sure that the current
> thread's signal mask is inherited by the forked thread.
>
> Use private mutexes for libc and libpthread. Signals are
> deferred while threads hold private mutexes. This fix also
> breaks www/linuxpluginwrapper; a patch that fixes it is at
> http://people.freebsd.org/~deischen/kse/linuxpluginwrapper.diff
>
> Fix race condition in condition variables where handling a
> signal (pthread_kill() or kill()) may not see a wakeup
> (pthread_cond_signal() or pthread_cond_broadcast()).
>
> In collaboration with: davidxu
Thanks! These patches help mono out a lot.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the cvs-all
mailing list