signal question (possible bug in ipc/sem)

Manfred Spraul (manfreds@colorfullife.com)
Sun, 17 Oct 1999 23:26:13 +0200


I'm threading ipc/sem.c and I don't understand the signal handling of
the current code:

sys_semop() just calls interruptible_sleep_on(), and if that function
returns premature, then sys_semop() assumes that a signal arrived and
returns with -EINTR.
It does not call "signal_pending()"

Is that a bug? At least, it has very strange effects:
my test application:
* uses the default signal mask.
* if it sleeps in sys_semop() and I use bash jobs control, then
sys_semop() returns with errno=EINTR when I switch from stopped to
foreground.

This affects both 2.3.22 and 2.2.12.

--
	Manfred

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/