in reply to Re^4: SIG{'PIPE'} and pipe timeout
in thread SIG{'PIPE'} and pipe timeout
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.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^6: SIG{'PIPE'} and pipe timeout
by Marcello (Hermit) on Feb 08, 2006 at 10:52 UTC |