[comp.windows.x] X protocol question

jason@kadmon.UUCP (Jason Venner) (05/18/89)

Please reply to me, as I am not on the list.

I want to have a 'pipe fitting' between the xclient and the server.

so I wrote myself a little program that listen'd on the X sockets
(inet and unix)
and forwarded data (on a per connection bases) to another program that
then connected (once per orgininal connection) to the real X socket.

This reliably either crashes the machine (if I use unix sockets for
the real X connection), or hangs or crashes the X server.

I do not look for out of band messages, but in my grepping through the
Xlib source, I saw nothing that would indicate that OOB's were used.

I am fairly certain that all data written by the client is recieved by
the real X server, and that the client would get anything that my pipe
fitting saw from the server.

Jason
Jason Venner
Jason@spar.stanford.edu
jason@mtxinu.com
jason@violet.berkeley.edu
jason@ucbviolet.bitnet
{...,ucbvax}!mtxinu!jason

jason@kadmon.UUCP (Jason Venner) (05/18/89)

It turned out that for some reason I was not getting SIGIO's on the
sockets, and I was using that to determine whether to read off of the
X socket.

The fact that this would cause the X server to crash is another
problem...

[Senario was:
	 program listening at 6001 and X1
	 and with a io channel to another machine with a real X server
	 at X0/6000
	 on other machine, program listening on the io channel, and
	 when it recieves a new connection connecting to Real X and X0

	 I had done the usual for SIGIO's (fcntl setown, flags = FASYNC,
	 handler for SIGIO's....)
	 but the process which open'd the socket to the Real X server
	 never got one, and then the X server would die often a few
	 minutes after I had killed all of the processes.]

 So, I changed the code not to need SIGIO's
	 
	Jason
Jason Venner
Jason@spar.stanford.edu
jason@mtxinu.com
jason@violet.berkeley.edu
jason@ucbviolet.bitnet
{...,ucbvax}!mtxinu!jason