Have you implemented your own Thread::Queue then? But I'm not sure whether there is a way to see which thread holds a lock, other than adding print statements.
As a work around, I would try to restructure the code so that the work units fetched from the locked area are larger, and thus less lock contention happens. See Data::Stream::Bulk for a possible implementation.
In reply to Re: Debugging lock ownership
by Corion
in thread Debugging lock ownership
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |