DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Link: http://www.fltk.org/str.php?L2107
Version: 1.1.9


Is the data you're transmitting ASCII and delimited by CRLFs? If so, make
sure the child is flushing its output regularly enough. If you're sending
binary data, be sure both ends of the pipe agree on the blocking size.

Try to include a *small* example program here showing the FLTK app and the
child, and how the two are interacting. 

FWIW, I decided quickly Microsoft did not do a great job implementing the
unixy functions for pipes (eg. select()/read()/etc. for pipes), however, I
found their WIN32 API calls like CreatePipe() + CreateProcess() (and
related calls) are fairly reliable. To use them effectively, I found it
involved making a child thread to handle reading the pipe, so if it
blocked, FLTK was unaffected. When data was fully ready, the child would
dump it in a buffer common to the two threads, and set a flag. The FLTK
parent thread would use an FLTK timer to keep an eye on the flag, and when
set, would lock the data and read it, then clear the flag. This way there
was no chance the FLTK thread would hang up waiting for data; the child
thread would deal with it, and could hang as much as it liked.


Link: http://www.fltk.org/str.php?L2107
Version: 1.1.9

_______________________________________________
fltk-bugs mailing list
fltk-bugs@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk-bugs

Reply via email to