summaryrefslogtreecommitdiff
path: root/usr/src/lib/libpctx
diff options
context:
space:
mode:
authorraf <none@none>2006-12-13 11:41:29 -0800
committerraf <none@none>2006-12-13 11:41:29 -0800
commit657b1f3d64bcf8eaa2385dba72a6047f089433b2 (patch)
treef39954fcde5cecefa713fa403e7e4b55a83f7c0d /usr/src/lib/libpctx
parent7b55fa8ea6046becb3b72f8886a503979c322084 (diff)
downloadillumos-joyent-657b1f3d64bcf8eaa2385dba72a6047f089433b2.tar.gz
PSARC 2006/659 fork extensions
6497356 fork extensions --HG-- rename : usr/src/lib/libc/amd64/sys/forkall.s => usr/src/lib/libc/amd64/sys/forkallx.s rename : usr/src/lib/libc/amd64/sys/fork1.s => usr/src/lib/libc/amd64/sys/forkx.s rename : usr/src/lib/libc/amd64/sys/vfork.s => usr/src/lib/libc/amd64/sys/vforkx.s rename : usr/src/lib/libc/i386/sys/forkall.s => usr/src/lib/libc/i386/sys/forkallx.s rename : usr/src/lib/libc/i386/sys/fork1.s => usr/src/lib/libc/i386/sys/forkx.s rename : usr/src/lib/libc/i386/sys/vfork.s => usr/src/lib/libc/i386/sys/vforkx.s rename : usr/src/lib/libc/sparc/sys/forkall.s => usr/src/lib/libc/sparc/sys/forkallx.s rename : usr/src/lib/libc/sparc/sys/fork1.s => usr/src/lib/libc/sparc/sys/forkx.s rename : usr/src/lib/libc/sparc/sys/vfork.s => usr/src/lib/libc/sparc/sys/vforkx.s
Diffstat (limited to 'usr/src/lib/libpctx')
-rw-r--r--usr/src/lib/libpctx/common/libpctx.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/usr/src/lib/libpctx/common/libpctx.c b/usr/src/lib/libpctx/common/libpctx.c
index 83f5f91fde..9c28fb9b9b 100644
--- a/usr/src/lib/libpctx/common/libpctx.c
+++ b/usr/src/lib/libpctx/common/libpctx.c
@@ -18,6 +18,7 @@
*
* CDDL HEADER END
*/
+
/*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
@@ -318,12 +319,14 @@ pctx_set_events(pctx_t *pctx, ...)
(void) Psysexit(pctx->Pr, SYS_forkall, 1);
(void) Psysexit(pctx->Pr, SYS_vfork, 1);
(void) Psysexit(pctx->Pr, SYS_fork1, 1);
+ (void) Psysexit(pctx->Pr, SYS_forksys, 1);
if (Psetflags(pctx->Pr, PR_FORK) == -1)
error = -1;
} else {
(void) Psysexit(pctx->Pr, SYS_forkall, 0);
(void) Psysexit(pctx->Pr, SYS_vfork, 0);
(void) Psysexit(pctx->Pr, SYS_fork1, 0);
+ (void) Psysexit(pctx->Pr, SYS_forksys, 0);
if (Punsetflags(pctx->Pr, PR_FORK) == -1)
error = -1;
}
@@ -758,6 +761,7 @@ checkstate:
case SYS_forkall:
case SYS_vfork:
case SYS_fork1:
+ case SYS_forksys:
if (pstatus->pr_lwp.pr_errno)
break;
(void) fflush(NULL);