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