There is. Gambit just detected for you that the condition you got into will guaranteedly never fix and therefore it told you it's a deadlock.


2014-06-11 6:13 GMT+02:00 Vijay Mathew <vijay.the.lisper@gmail.com>:
Why is the following error happening in the REPL?

> (define c (make-condition-variable))
> (define m (make-mutex))
> (mutex-unlock! m c)
*** ERROR IN ##thread-deadlock-action! -- Deadlock detected

If I do call mutex-unlock! from a thread, it does not raise this error:

> (thread-start! (make-thread (lambda () (mutex-unlock! m c) (println "ok"))))
#<thread #2>
1> (condition-variable-broadcast! c)
=> ok

Is there a way to invoke mutex-unlock! from the top-level without raising the deadlock error?

Thanks,

--Vijay

_______________________________________________
Gambit-list mailing list
Gambit-list@iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list