summaryrefslogtreecommitdiff
path: root/libc/stdio/puts.c
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2012-01-17 10:33:10 +0100
committerMike Frysinger <vapier@gentoo.org>2012-01-23 21:22:06 -0500
commiteb72efd81e0d5be6c836c5a084cc65b9734f544d (patch)
tree63c9a7af8f5a5a4d9d282de7a1d57249bd5a8c98 /libc/stdio/puts.c
parent3837739512e6029786d4e70be658fde8172c3829 (diff)
libc: fix signal handling in system()
When built without NPTL support (or for a sparc target), the system() function doesn't conform to its specification. Namely, it uses signal() to install/save/restore signal handlers, which may break applications using custom handlers installed with sigaction(). In addition, it resets the SIGCHLD handler to SIG_DFL instead of blocking the signal, which may result in "lost" signals if a custom handler was installed. Fix system() by replacing uses of signal() with appropriate calls to sigaction() and sigprocmask(). Signed-off-by: Richard Braun <rbraun@sceen.net> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'libc/stdio/puts.c')
0 files changed, 0 insertions, 0 deletions