[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bash kill(1) doesn't report errors when $(ulimit -i) is exceeded

From: Cedric Blancher
Subject: bash kill(1) doesn't report errors when $(ulimit -i) is exceeded
Date: Sun, 14 Jul 2013 20:38:04 +0200

The tests below is from the ongoing work of David Korn and Roland
Mainz to make signals in ksh93 reliable and predictable (so far no
shell tested really does it). I derived one of their tests and found
that bash doesn't handle realtime signals properly either:
bash -c '{ trap ":" RTMIN ; kill -STOP ${BASHPID} ; true ; } & ((
pid=$! )) ; sleep 5 ; maxi=$(ulimit -i) ; for ((i=0 ; i < (maxi*2) ;
i++)) ; do kill -RTMIN $pid ; done ; kill -CONT $pid ; wait ; true'
This prints 1, but IMO should print $(ulimit -i) as integer value and
then lots of errors from kill(1) because no further signals can be
queued to $pid because ulimit -i is exceeded for that child process.

Bash version is GNU bash, version 4.2.42(1)-release
(x86_64-suse-linux-gnu) on Suse 12.3, 64bit

Cedric Blancher <address@hidden>
Institute Pasteur

reply via email to

[Prev in Thread] Current Thread [Next in Thread]