in reply to Re^3: Semaphores failing to prevent race condition
in thread Semaphores failing to prevent race condition

The answer seems to be that Thread::Semaphore is, ironically, not thread-safe.

Thanks for the update, and please do continue to keep us (me) informed.

Unfortunately there are a bunch of modules in the Thread::* namespace that were never tested in multi-core or multi-cpu setups. Getting a handle on which ones are broken is useful information.

Better yet, once you're convinced that Thread::Semaphore is the source of your problems, a bug report against it might see it corrected, or at least a documentation change to reflect the problem.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
  • Comment on Re^4: Semaphores failing to prevent race condition