[kaffe] CVS kaffe (guilhem): GC Deadlock fixes for Linux 2.4/2.6 (at least).

Adam Heath doogie at brainfood.com
Sun Jan 2 18:40:59 PST 2005


On Sun, 2 Jan 2005, Kaffe CVS wrote:

> PatchSet 5747
> Date: 2005/01/02 19:03:30
> Author: guilhem
> Branch: HEAD
> Tag: (none)
> Log:
> GC Deadlock fixes for Linux 2.4/2.6 (at least).
>
>         * kaffe/kaffevm/systems/unix-pthreads/lock-impl.c
>         (setBlockState): Protect the mutex locking against signal.
>
>         * kaffe/kaffevm/systems/unix-pthreads/thread-impl.c,
>         kaffe/kaffevm/systems/unix-pthreads/thread-internal.h
>         (KaffePThread_AckAndWaitForResume): New function.
>         (suspend_handler): Call directly KaffePThread_AckAndWaitForResume
>         now.
>         (KaffePThread_getSuspendSignal): Export the signal number
>         corresponding to the suspend signal.
>         (jthread_suspendall): Cleant up the semaphore sweep. Added a few
>         assertion checking.
>         (jthread_unsuspendall): Added a few assertion checking.
>         (tRun): Check whether the thread is killed when it is woken up.
>         (jthread_exit): Do not cancel any thread as it may cause deadlocks
>         on 2.4. Only interrupt and set the state to THREAD_KILL.
>
>         * libraries/clib/native/Thread.c
>         (VMThread.sleep): Check that if timeout is null we should return
>         immediately.

This change has appeared to make all test cases pass on my smp system.  Well
done.

However, Dalibor has reported an assertion failure for bootstrap ant on gump.




More information about the kaffe mailing list