block all signals (even internal ones) in cancellation signal handler
authorRich Felker <dalias@aerifal.cx>
Tue, 17 Mar 2015 00:12:49 +0000 (20:12 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 17 Mar 2015 00:12:49 +0000 (20:12 -0400)
commit76fd01177a32d602bc5ee7bd7ba65316adbae611
treed855b8e220d5ade11a8ef96f82f95f5820c56b1a
parenteceaf1d29f32656e5befb5e37b1f7db632f2e1dc
block all signals (even internal ones) in cancellation signal handler

previously the implementation-internal signal used for multithreaded
set*id operations was left unblocked during handling of the
cancellation signal. however, on some archs, signal contexts are huge
(up to 5k) and the possibility of nested signal handlers drastically
increases the minimum stack requirement. since the cancellation signal
handler will do its job and return in bounded time before possibly
passing execution to application code, there is no need to allow other
signals to interrupt it.
src/thread/pthread_cancel.c