diff options
Use sigaction(SA_NOCLDWAIT) for SIGCHLD handling
signal() semantics are pretty unclearly specified. For example, depending on OS
kernel and libc, the handler may be returned to SIG_DFL (hence the inner call
to read the signal handler). Moving to sigaction() means the behaviour is
consistently defined.
Using SA_NOCLDWAIT also allows us to avoid calling the non-reentrant function
die() in the handler.
Some addditional notes for archival purposes:
* NRK pointed out errno of waitpid could also theoretically get clobbered.
* The original patch was iterated on and modified by NRK and Hiltjo:
* SIG_DFL was changed to SIG_IGN, this is required, atleast on older systems
such as tested on Slackware 11.
* signals are not blocked using sigprocmask, because in theory it would
briefly for example also ignore a SIGTERM signal. It is OK if waitpid() is (in
theory interrupted).
POSIX reference:
"Consequences of Process Termination":
https://pubs.opengroup.org/onlinepubs/9699919799/functions/_Exit.html#tag_16_01_03_01
Diffstat (limited to 'config.def.h%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d7af4d439bdb5a2e40aca69446a3367bd71431c45%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d7af4d439bdb5a2e40aca69446a3367bd71431c45%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d7af4d439bdb5a2e40aca69446a3367bd71431c45%252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d7af4d439bdb5a2e40aca69446a3367bd71431c45&id2%252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dcd2d7549b3ae5ec234b45d85608f79f4d3aaa851%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253d7af4d439bdb5a2e40aca69446a3367bd71431c45%25252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525253d7af4d439bdb5a2e40aca69446a3367bd71431c45&id2%25252525252525252525252525252525252525252525252525252525252525252525252525252525253dcd2d7549b3ae5ec234b45d85608f79f4d3aaa851%252525252525252525252525252525252525252525252525252525252525252525252525253fshowmsg%252525252525252525252525252525252525252525252525252525252525252525252525253d1%252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525253da5ef81cd3600306c4b2af8a5dad69fab4d6cad17%252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525253d0b4da825b86ccd41e86208f5a5e8ff1ae2bde52a%2525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525253d0b4da825b86ccd41e86208f5a5e8ff1ae2bde52a%25252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525253da5ef81cd3600306c4b2af8a5dad69fab4d6cad17%252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525253d271e1a5f3445e8ab70255fcf9b1da8c233efa1d2%2525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525253d271e1a5f3445e8ab70255fcf9b1da8c233efa1d2%25252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525253d271e1a5f3445e8ab70255fcf9b1da8c233efa1d2%2525252525252525252525252525252525252525252525253fshowmsg%2525252525252525252525252525252525252525252525253d1%252525252525252525252525252525252525252525253fshowmsg%252525252525252525252525252525252525252525253d1%25252525252525252525252525252525252525253fid%25252525252525252525252525252525252525253da5ef81cd3600306c4b2af8a5dad69fab4d6cad17%252525252525252525252525252525252525253fid%252525252525252525252525252525252525253da5ef81cd3600306c4b2af8a5dad69fab4d6cad17%2525252525252525252525252525252525253fid%2525252525252525252525252525252525253da5ef81cd3600306c4b2af8a5dad69fab4d6cad17%25252525252525252525252525252525253fid%25252525252525252525252525252525253da5ef81cd3600306c4b2af8a5dad69fab4d6cad17%252525252525252525252525252525253fid%252525252525252525252525252525253da5ef81cd3600306c4b2af8a5dad69fab4d6cad17%2525252525252525252525252525253fid%2525252525252525252525252525253da5ef81cd3600306c4b2af8a5dad69fab4d6cad17%25252525252525252525252525253fid%25252525252525252525252525253d271e1a5f3445e8ab70255fcf9b1da8c233efa1d2%252525252525252525252525253fid%252525252525252525252525253df81ac905a0940e0779fe5207e5eec4ac42956b98%2525252525252525252525253fid%2525252525252525252525253de81f17d4c196aaed6893fd4beed49991caa3e2a4%25252525252525253fid%25252525252525253d0b4da825b86ccd41e86208f5a5e8ff1ae2bde52a%2525252525253fshowmsg%2525252525253d1%252525253fid%252525253da5ef81cd3600306c4b2af8a5dad69fab4d6cad17%2525253fid%2525253d271e1a5f3445e8ab70255fcf9b1da8c233efa1d2%25253fid%25253df81ac905a0940e0779fe5207e5eec4ac42956b98%253fid%253dd241309c21a7a22cb7ce539c6f88950652ae9b85%3fid%3d348f6559ab0d4793db196ffa56ba96ab95a594a6?id=712d6639ff8e863560328131bbb92b248dc9cde7')
0 files changed, 0 insertions, 0 deletions