> Won't O_NONBLOCK cover this? No. POSIX says: O_NONBLOCK When opening a FIFO with O_RDONLY or O_WRONLY set: If O_NONBLOCK is set, an open() for reading-only shall return without delay. An open() for writing-only shall return an error if no process currently has the file open for reading.
> I don't think you can distinguish "buffer is full right now" from "no > reader" though. I wouldn't need to distinguish that. > Depending on what you're doing you might want a stream socket instead > of a pipe. I'm not in control of the reading side.