Re: [MacRuby] #542: Attempt to unlock a mutex which is not locked (ThreadError)
#542: Attempt to unlock a mutex which is not locked (ThreadError) -------------------------------------+-------------------------------------- Reporter: valerii.hiora@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: MacRuby 1.0 Component: MacRuby | Keywords: -------------------------------------+-------------------------------------- Comment(by jhemmelg@…): OK, I was looking further into this. It looks like the mutex is not re- locked when cond.wait returns in the main thread. The synchronize method then tries to unlock it and finds it already unlocked. The documentation for ConditionVariable::wait claims to re-lock the mutex on wakeup. I can't see where that is supposed to be happening. It may be some magic with the thread wakeup logic, but I can't see it in either the macruby code or the cruby 1.9.2 code. I'll try to keep digging but I wouldn't be disappointed if someone else figures it out first. -- Ticket URL: <http://www.macruby.org/trac/ticket/542#comment:10> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby