[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
Ced
--
Cedric Blancher <cedric.blancher@gmail.com>
Institute Pasteur
- bash kill(1) doesn't report errors when $(ulimit -i) is exceeded,
Cedric Blancher <=