summaryrefslogtreecommitdiff
path: root/lib/libc/gen/signal.3
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2002-01-07 16:16:33 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2002-01-07 16:16:33 +0000
commitb12b94b216d073cf50a2a775a6abaeb20133bc52 (patch)
treec2785aa2f305d02f3ce3e378d00adf43bf773042 /lib/libc/gen/signal.3
parent81b0f93dcd5d3b0ef1a97c1befe1ebabc2e38679 (diff)
If the handler for SIGCHLD is set to SIG_IGN, act as if the
SA_NOCLDWAIT (don't create zombies) flag has been specified. This is consistent with most other operating systems and is what XPG4.2 specifies.
Diffstat (limited to 'lib/libc/gen/signal.3')
-rw-r--r--lib/libc/gen/signal.326
1 files changed, 25 insertions, 1 deletions
diff --git a/lib/libc/gen/signal.3 b/lib/libc/gen/signal.3
index 4d0c379267a..d694fb107f7 100644
--- a/lib/libc/gen/signal.3
+++ b/lib/libc/gen/signal.3
@@ -1,4 +1,4 @@
-.\" $OpenBSD: signal.3,v 1.16 2001/11/07 18:46:58 deraadt Exp $
+.\" $OpenBSD: signal.3,v 1.17 2002/01/07 16:16:32 millert Exp $
.\"
.\" Copyright (c) 1980, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
@@ -160,6 +160,30 @@ automatically blocked and
.Fa func
is called.
.Pp
+If the
+.Fa func
+is set to
+.Dv SIG_IGN
+for the
+.Dv SIGCHLD
+signal, the system will not create zombie processes when children of
+the calling process exit.
+If the calling process subsequently issues a
+.Xr wait 2
+(or equivalent), it blocks until all of the calling process's child
+processes terminate, and then returns a value of \-1 with
+.Va errno
+set to
+.Dv ECHILD .
+.Bf -symbolic
+This differs from historical
+.Bx
+behavior but is consistent with
+.At V
+as well as the
+.St -xpg4.2 .
+.Ef
+.Pp
The handled signal is unblocked when
.Fa func
returns and