If the program you are running uses printf(), etc (streams from
stdio.h) you have to deal with two buffers. The kernel buffers all
socket IO, and this is explained in ``section 2.11''. The second
buffer is the one that is causing you grief. This is the stdio
buffer, and the problem was well explained by Andrew:
(The short answer to this question is that you want to use a pty
rather than a socket; the remainder of this article is an attempt to
explain why.)
Firstly, the socket buffer controlled by setsockopt() has absolutly
nothing to do with stdio buffering. Setting it to 1 is guaranteed to
be the Wrong Thing(tm).
Perhaps the following diagram might make things a little clearer:
Process A Process B
|
UNIXguide.net
English to Visayan Cebuano Dictionary |
Suggest a Site
Visayan Cebuano to English Dictionary |