#91: Liquidsoap doesn't work correctly on FreeBSD 6.2 (Mutex.unlock: Operation
not permitted)
-------------------------+--------------------------------------------------
  Reporter:  GraveR      |       Owner:  admin              
      Type:  Bugs        |      Status:  new                
  Priority:  1           |   Milestone:                     
 Component:  Liquidsoap  |     Version:  0.3.6+svn          
Resolution:              |    Keywords:  freebsd mutex error
-------------------------+--------------------------------------------------
Comment (by mrpingouin):

 Thanks for the ultra-fast report! Now I'm sure: FreeBSD 6.2 ensures that
 only the thread that locked a mutex can unlock it. The test failed because
 the main thread tried to lock twice the "exit" mutex, waiting for the side
 threads to unlock it, which is impossible under the FreeBSD assumptions.

 (In the case of your liquidsoap run, a "deadlock" failure has probably
 been caught by the thread wrapper which then attempter to unlock the
 thread locked by the main one. It failed, killed the side thread, but
 failed to shutdown the whole app as expected in such cases. What I don't
 fully understand is what happened to the main thread when I attempted to
 double-lock the "no_problem" lock.. it's probably OK since the first
 locking was done before forking.)

 I'll keep you updated on how much work is needed to make liquidsoap
 compatible with that scheme.

-- 
Ticket URL: <http://savonet.rastageeks.org/ticket/91#comment:3>
Savonet <http://savonet.rastageeks.org/>
Let's program our stream !

Répondre à