Messages in this thread | | | Subject | Re: SIGIO signals not generated in Redhat 6.2? | Date | Thu, 13 Jul 2000 11:36:52 -0400 (EDT) | From | (Michael Borrelli) |
| |
Richard B. Johnson said this... >This came up about a year ago. From what I remember, it was determined >that pipes are not supposed to generate signals when data are available >because you can't even write to a pipe unless you have a reader already >reading. Basically, the pipe will block on a write until somebody >reads it and a reader will block until somebody writes. Attempts to >set the pipes to non-blocking violates some spec (perhaps POSIX) so >the result is undefined. > >This was what was explained to me when I reported what I thought was a >bug. You need to use UNIX Sockets for interprocess communication >instead of pipes if you want signals for synchronization. Sockets >produce the behavior you expect. >
Is it possible to use poll() to determine if each side of the pipe can read/write without blocking?
-mike
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |