So it turns out that this can be easily reproduced by comparing the output of udevadm and udevadm | cat on the command line - udevadm is behaving exactly as Perl would when it is Suffering from Buffering (i.e. it's not entirely your program's fault). One fix appears to be adding the option Conduit => 'pty' or Conduit => 'pty-pipe' to the POE::Wheel::Run constructor, I've tested this with your code and it works. From the POE::Wheel::Run documentation: "The "pty" conduit type runs the child process under a pseudo-tty, which is created by IO::Pty. Pseudo-ttys (ptys) convince child processes that they are interacting with terminals rather than pipes", thus disabling the buffering in udevadm.
In reply to Re: POE::Filter::Line seems to be buffering ?
by haukex
in thread POE::Filter::Line seems to be buffering ??? input from some command line programs but not others?
by KaiLoi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |