Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!harpo!utah-cs!utah-gr!thomas From: thomas@utah-gr.UUCP (Spencer W. Thomas) Newsgroups: net.unix-wizards Subject: Re: problems with sigset, sighold and sigrelse. Message-ID: <865@utah-gr.UUCP> Date: Sat, 6-Aug-83 00:22:42 EDT Article-I.D.: utah-gr.865 Posted: Sat Aug 6 00:22:42 1983 Date-Received: Sat, 6-Aug-83 10:45:49 EDT References: psuvax.185 Lines: 19 Right now, I'm trying something like this: sigset(SIGINT, fn); sighold(SIGINT); ... some code with writes in it sigrelse(SIGINT); Even with this code, some write operation gets interrupted and does not return normally (# of bytes attempted != # actually written). This is clearly a confusing situation. What the sighold/sigrelse pair guarantee you is that the write will have actually written as many characters as it said it did. It may only do a partial write, though. Without the sighold/sigrelse pair, the write might say that it had written 100 characters, while it had actually written only 47. This is clearly much harder to recover from. =Spencer