in reply to Thread::Queue locking question

This isn't in response to your question, but your incorrect use of $|++.

$|++; turns on autoflushing for the currently selected file handle, not for your pipe. Both of the following snippets turn on autoflushing:

### Forces a flush after every write to this pipe. my $old_fh = select(PIPE); $|=1; select($old_fh);
use IO::Handle qw( ); ### Forces a flush after every write to this pipe. PIPE->autoflush(1);

But the thing is, INOTIFY is a reader pipe. You never write to it, so it's useless to turn on autoflushing for it.

Replies are listed 'Best First'.
Re^2: Thread::Queue locking question
by mhearse (Chaplain) on Apr 21, 2008 at 17:28 UTC
    Noted. I guess I misunderstood $|.