carroll@s.cs.uiuc.edu (05/23/89)
(Originally in comp.windows.x, but the basic problem is more UNIX related). Setup: Program Q, which has a single file descriptor open which is a socket. There is an interupt handler attached to SIGIO which reads the socket and deals with the data. During normal execution, another function is called which writes on the socket and expects a reply, and so also does a read(). Question: What happens? Which read succeeds? Is it system dependent? How can I work around this? Currently I uninstall the signal handler, do the function call, and re-install it. There must be a better way. P.S. No, I can't change things to work in a more sensible fashion. See comp.windows.x for a more detailed description. Alan M. Carroll "And there you are carroll@s.cs.uiuc.edu Saying 'We have the Moon, so now the Stars...'" CS Grad / U of Ill @ Urbana ...{ucbvax,pur-ee,convex}!s.cs.uiuc.edu!carroll