in reply to Re^4: SIG{'PIPE'} and pipe timeout
in thread SIG{'PIPE'} and pipe timeout

Hi, I went to http://groups.google.com and searched for "SIG PIPE socket" and got a bunch of hits about odd SIG{PIPES} on sockets.

One of the better responses said that you should just set $SIG{PIPE} = 'IGNORE'; as a good precaution. The causes can vary, but one reply said

The kernel will post a SIGPIPE to a process when it writes to a pipe, fifo, or network endpoint that is no longer open for reading. The primary reason for this behavior is to expeditiously terminate processes that write to their stdout stream but do not check the exit status of the write() call. For programs that are well behaved (i.e., those which check the status of calls to write(2)) it is best to simply set SIGPIPE to be ignored.

So maybe your client closes up(goes to sleep?) after a long period of inactivity, maybe you should strobe it every hour with a newline or something.


I'm not really a human, but I play one on earth. flash japh

Replies are listed 'Best First'.
Re^6: SIG{'PIPE'} and pipe timeout
by Marcello (Hermit) on Feb 08, 2006 at 10:52 UTC
    Thanks!

    I will search there too. So probably it is rather harmless and can be IGNORE'ed.