Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

after some searching i have not found an easy solution to the problem of timed-out, line-buffered reads of filehandles. I often use open3 to run subprocesses and read their output via the pipe filehandle. The easiest thing to do is <OUT> but that does not timeout, and subprocesses can hang. And <OUT> is a blocking read. So i want an <OUT> with a timeout. I could alarm, but that's an interruption and i can't return to the original code stream containing the <OUT>. The man perl answer from IO::Open3 is to use select(,,,$timeout) and then sysread which is fine, but it is not line buffered. One can find the newlines and parse oneself, but that's a chore. That's what CPAN is for, right?

So i did find IO::BufferedSelect which is the exact answer i'm looking for, but it has a bug, which i reported and fixed.

but i'm having trouble contacting the author, Antal Novak. His cpan.org acct which forwards to standford.edu is no more ("User unknown in virtual alias table").

What i'm mostly asking is how other people deal with timed-out, buffered reads. And if anyone has used this exact module. I understand you have to go to PAUSE if someone wants to take over an abandoned module.

Replies are listed 'Best First'.
Re: IO::BufferedSelect -does anybody use it / own it, Antal Novak?
by johnvk (Initiate) on May 16, 2011 at 21:54 UTC
    that post was from me. My cslite was too aggresive.
Re: IO::BufferedSelect -does anybody use it / own it, Antal Novak?
by belg4mit (Prior) on Jun 20, 2011 at 19:24 UTC
    To gain control/access to a moribund module, keep modules@ up to date on efforts to contact the author. They can alter the commit bits after sufficient effort has been made and time passed.

    It looks like Antal's fallen off the grid in March of 2007, but here are some possible leads:

    • Older email addresses, the KDE redirect might be live but weevil.net doesn't exist.
    • If you know a Stanford alumnus, they might check the alumni directory
    • He co-authored two papers with Feng Shao, who has a redirect in the people directory at Cornell and might have kept in touch. He was also co-author on a number of other papers in a variety of other sub-fields… especially computational biology up until August 2009
    • Likewise, Antal was co-author of Devel::GDB and the other developer might know something.
    • Apparently, there's only one person with this name in US phone books.

    You could try to come up with another name for the code, and post the fixed version as a fork, but this should be avoided. A better approach would be to post a patched copy with an underscored version number (developer's copy). It won't show up by default in search.cpan results, but it will still be accessible and until you gain control it can be pointed to in RT tickets, annoCPAN, reviews, this node, etc.

    --
    In Bob We Trust, All Others Bring Data.

      Sorry I fell off the radar for a while. I'm back now :) I'll update the IO::BufferedSelect package shortly with a fix for that bug... --afn