What was the signal?

der Mouse mouse at thunder.mcrcim.mcgill.edu
Mon Mar 25 22:08:29 AEST 1991


In article <1991Mar20.114107.2078 at ukpoit.co.uk>, alan at ukpoit.co.uk (Alan Barclay) writes:
> In article <1991Mar20.113657.1959 at ukpoit.co.uk> howard at ukpoit.co.uk (Howard the Hacker) writes:
>> I have a C program doing a msgrcv(2) which may be interrupted by a
>> SIGALRM.  This is processed by a handler function.  [...] [I]s it
>> possible to find out what the actual signal was?  If the signal was
>> not SIGALRM, the msgrcv should not be tried again, but how can I
>> tell?

> catch SIGALRM, using signal(2), set a flag in the signal catching
> routine, and check for the flag being set.

That will tell only whether SIGALRM occurred, not whether some other
signal also occurred.  If a SIGHUP is delivered during the SIGALRM
handler, for example, processing should stop, but the flag will be set
just the same....

					der Mouse

			old: mcgill-vision!mouse
			new: mouse at larry.mcrcim.mcgill.edu



More information about the Comp.unix.questions mailing list