I'm writing a simple chess GUI in Tk. I would like to run an engine from Tk as a bidirectional pipe (writing commands to its STDIN and reading analysis results from its STDOUT).
My problem is that sysread simply freezes when there is nothing to read.
I've tried IO::Select, but it always returns an empty list for handles that are ready for reading. Even if I open a simple text file and add it to the selected handles it returns an empty list.
Is this a Win32 specific problem, or am I doing something wrong?