Marcus Brinkmann <[EMAIL PROTECTED]> writes:

> We agreed, in an inspiring coordinated coding effort, on the following
> implementation (thanks to Johannes, Neal, Moshe and Rene):

No, that still has a race condition as follows.  We begin in the fully
unlocked state.

THREAD 1                        THREAD 2

Start recursive_lock
Read RL->locking_thread
                Context Switch
                                Start recursive_lock, function finishes        
                Context Switch
Check RL->locking_thread
  it seems to match, and the lock
  incorrectly succeeds.

You need some kind of guard around this structure!

_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to