[comp.windows.x] "Broken Pipe" on X Server Connection

dcr0@gte.com (David Robbins) (01/29/91)

I am sometimes bothered by my X client mysteriously terminating with a
"broken pipe" signal, apparently arising out of the X server socket
connection.  It seems to happen when my client has sent an appreciable
number of requests to the server and has not taken the time to read
the server's responses.  But it does not happen consistently -- sometimes
everything will work, sometimes the client dies.

I'm not sure that I understand what is happening here, and -- more
important -- I'm not sure what the best way is to prevent this from
happening.  I've consulted FAQ, as well as the various X books and
documents, and either there is nothing there to explain things to me or
I have somehow overlooked the clues.

If any of you X wizards out there on the net can point me to a way to prevent
my client from dying in this manner, I will be forever grateful.

-- 
Dave Robbins                    GTE Laboratories Incorporated
drobbins@bunny.gte.com          40 Sylvan Rd.
...!harvard!bunny!drobbins      Waltham, MA 02254
CYA:  I speak only for myself; GTE may disagree with what I say.

mouse@lightning.mcrcim.mcgill.EDU (02/01/91)

> I am sometimes bothered by my X client mysteriously terminating with
> a "broken pipe" signal, apparently arising out of the X server socket
> connection.  It seems to happen when my client has sent an
> appreciable number of requests to the server and has not taken the
> time to read the server's responses.

This is a bug - it should either work or hang.  I have seen R3 servers
drop the connection when this happens; perhaps your server is R3-based?
(You don't say whose server you're using.)  When the connection to the
client cannot accept more data, the server is supposed to just queue
things internally.  It is permitted to stop reading from the client
when this happens, which can cause the client to freeze....

> But it does not happen consistently -- sometimes everything will
> work, sometimes the client dies.

I suspect it depends on how many other events (keyboard presses, mouse
motions, etc) are queued up as well.

> I'm not sure that I understand what is happening here, and -- more
> important -- I'm not sure what the best way is to prevent this from
> happening.

The best way, I would guess, is to be a good little client and pay
attention to what the server is trying to say to you, even if this
means just reading it and throwing it away.

					der Mouse

			old: mcgill-vision!mouse
			new: mouse@larry.mcrcim.mcgill.edu