in reply to Re^5: Printing to STDERR causes deadlocks.
in thread Printing to STDERR causes deadlocks.

This is the bit I do not understand about the api. In your example below:

m-processing t-Locking t-Waiting t-Signalling # if a tree signals in a forest, and noone's listening t-Locking t-Waiting <<<< Point A m-locking m-waiting # and again, we both wait...

At point A, t has locked the shared var and goes into the wait state.

Then m gets a timeslice, finishes processing and loops back to lock() the var. It gets the lock, but t hasn't yet released it?

Then again, whilst m is processing, the lock it acquired is still in force, so how the hell did t manage to aquire a lock and move forward to the wait/signal/lock/wait steps?

If it is possible to use this api to synchronise two threads access to a single var, I'd sure like to see it.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco.
Rule 1 has a caveat! -- Who broke the cabal?