http://qs321.pair.com?node_id=339296


in reply to Re: capture output of a daemon in a tk widget on win32
in thread capture output of a daemon in a tk widget on win32

Hmm, you appear to be right. I found this in Tk::fileevent:

The readable and writable event handlers for a file are independent, and may be created and deleted separately. However, there may be at most one readable and one writable handler for a file at a given time in a given interpreter. If fileevent is called when the specified handler already exists in the invoking interpreter, the new callback replaces the old one.

Not sure if "file" means filehandle tho'...

Note also how the last callback gets fired 4 times, but only twice with data waiting... Different combinations of prints in the child result in generally inconsistent behaviour (that is, incidentally, consistent with blocking/buffering/deadlock type problems).

My output:

read_stderr() sysread() got 9 bytes: [stderr1 ] read_stderr() sysread() got 9 bytes: [stderr2 ] read_stderr() sysread() got 0 bytes: [] read_stderr() sysread() got 0 bytes: []

- ><iper

use japh; print;