lkml.org 
[lkml]   [2000]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: SIGIO signals not generated in Redhat 6.2?
On Thu, 13 Jul 2000, Michael Borrelli wrote:

> 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?

It is implemented in the kernel. I haven't used it, but it seems like
it should work.

If you look in the code in ../linux/fs/pipe.c, you will see that Linux
tries to emulate even some SunOs brain-damage (if enable).

Cheers,
Dick Johnson

Penguin : Linux version 2.2.15 on an i686 machine (797.90 BogoMips).

"Memory is like gasoline. You use it up when you are running. Of
course you get it all back when you reboot..."; Actual explanation
obtained from the Micro$oft help desk.



-
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/

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.058 / U:0.552 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site