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.

_______________________________________________
kaffe mailing list
[email protected]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to