RE: [ILUG] Broken pipe error in Oracle WebDb

From: Kenn Humborg (kenn at domain bluetree.ie)
Date: Mon 14 Feb 2000 - 11:36:38 GMT


> So, a "broken pipe" is either when the data source aborts without sending
> and "End of File", or EOF to the pipe. Over a network, this can also mean
> that the network connection was broken. The OS can't "make up" an EOF, so
> it usually sends the client a SIGIO signal. Run strace on the program
> that gets the broken pipe, and look through the output for a SIGIO to
> confirm that's what's happening. If it is, checkout what's happened the
> server.

I thought 'broken pipe' was due to a SIGPIPE, which occurs
when the process at the output end of the pipe closes it
first. For example:

$ locate usr | less

and hit 'q' after the first page of text:

[...snip...]
/usr/X11R6/bin/xb_check
/usr/X11R6/bin/xbanner
Broken pipe
[kenn at domain atlas kenn]$

less closes its stdin (which is hooked up to the output end of
the pipe). The OS tells locate that there is no point in writing
anything to the pipe anymore, because there is nobody around to
read it by sending a SIGPIPE. I think the default action on a
SIGPIPE is to print 'Broken pipe' and exit.

Later,
Kenn



This archive was generated by hypermail 2.1.6 : Thu 06 Feb 2003 - 13:05:25 GMT