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!jasonjason@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