Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!mailrus!uwm.edu!bionet!ames!sgi!shinobu!odin!sgi.com!karlton From: karlton@sgi.com (Phil Karlton) Newsgroups: comp.windows.x Subject: Re: Problem with Signals Message-ID: <4826@odin.SGI.COM> Date: 2 Mar 90 21:09:29 GMT References: <132399@sun.Eng.Sun.COM> <9002281729.AA02895@wilkins.bcm.tmc.edu> Sender: news@odin.SGI.COM Reply-To: karlton@sgi.com Organization: Silicon Graphics, WorkGroup Products Division Lines: 16 This is what happened to VMS as the result of X (if memory serves me right). The LockDisplay and UnlockDisplay macro invocations that surround every Xlib routine were defined to set or clear a particular bit in the client's address space. (This is a relatively cheap operation.) Then the OS was changed so that if the bit was set the AST was not delivered to the process until the bit was cleared. This prevents the "interrupt" routines from running while a partial X request was in an I/O buffer. I am not going to hold my breath until all of the various UNIX vendors add a similar feature. One might consider merely using a different X connection for communicating with the server while in any interrupt routine. Adequate support within the intrinsics for dealing with mulitple connections and reentrancy would be necessary to make this viable for Xt based clients. PK