diff options
author | Roger A. Faulkner <Roger.Faulkner@Sun.COM> | 2010-02-28 18:42:20 -0800 |
---|---|---|
committer | Roger A. Faulkner <Roger.Faulkner@Sun.COM> | 2010-02-28 18:42:20 -0800 |
commit | 8fd04b8338ed5093ec2d1e668fa620b7de44c177 (patch) | |
tree | dc9fcd7d90062fa1e2b53b41a9b6e091194b875a /usr/src/lib/libproc/common/Pcontrol.c | |
parent | e3c57d6a57265f8b9bf3871878cf9b92213e1188 (diff) | |
download | illumos-gate-8fd04b8338ed5093ec2d1e668fa620b7de44c177.tar.gz |
PSARC 2009/657 delete obsolete system call traps
6906485 delete obsolete system call traps
--HG--
rename : usr/src/cmd/truss/xstat.c => usr/src/cmd/truss/stat.c
rename : usr/src/lib/libc/port/gen/dup2.c => usr/src/lib/libc/port/gen/dup.c
rename : usr/src/lib/libc/port/sys/libc_fcntl.c => usr/src/lib/libc/port/sys/fcntl.c
rename : usr/src/lib/libc/port/sys/libc_open.c => usr/src/lib/libc/port/sys/open.c
Diffstat (limited to 'usr/src/lib/libproc/common/Pcontrol.c')
-rw-r--r-- | usr/src/lib/libproc/common/Pcontrol.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/usr/src/lib/libproc/common/Pcontrol.c b/usr/src/lib/libproc/common/Pcontrol.c index deccb122c3..2a32522e0c 100644 --- a/usr/src/lib/libproc/common/Pcontrol.c +++ b/usr/src/lib/libproc/common/Pcontrol.c @@ -20,7 +20,7 @@ */ /* - * Copyright 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Portions Copyright 2007 Chad Mynhier @@ -335,7 +335,6 @@ Pxcreate(const char *file, /* executable file name */ * it again on entry to exec() or exit(). */ (void) Psysentry(P, SYS_exit, 1); - (void) Psysentry(P, SYS_exec, 1); (void) Psysentry(P, SYS_execve, 1); if (Psetrun(P, 0, PRSABORT) == -1) { dprintf("Pcreate: Psetrun failed: %s\n", strerror(errno)); @@ -353,13 +352,11 @@ Pxcreate(const char *file, /* executable file name */ * Move the process through instances of failed exec()s * to reach the point of stopped on successful exec(). */ - (void) Psysexit(P, SYS_exec, TRUE); (void) Psysexit(P, SYS_execve, TRUE); while (P->state == PS_STOP && P->status.pr_lwp.pr_why == PR_SYSENTRY && - (P->status.pr_lwp.pr_what == SYS_execve || - P->status.pr_lwp.pr_what == SYS_exec)) { + P->status.pr_lwp.pr_what == SYS_execve) { /* * Fetch the exec path name now, before we complete * the exec(). We may lose the process and be unable @@ -388,8 +385,7 @@ Pxcreate(const char *file, /* executable file name */ */ if (P->state == PS_STOP && P->status.pr_lwp.pr_why == PR_SYSEXIT && - (P->status.pr_lwp.pr_what == SYS_execve || - P->status.pr_lwp.pr_what == SYS_exec) && + P->status.pr_lwp.pr_what == SYS_execve && (lasterrno = P->status.pr_lwp.pr_errno) != 0) { /* * The exec() failed. Set the process running and @@ -405,8 +401,7 @@ Pxcreate(const char *file, /* executable file name */ if (P->state == PS_STOP && P->status.pr_lwp.pr_why == PR_SYSEXIT && - (P->status.pr_lwp.pr_what == SYS_execve || - P->status.pr_lwp.pr_what == SYS_exec) && + P->status.pr_lwp.pr_what == SYS_execve && P->status.pr_lwp.pr_errno == 0) { /* * The process is stopped on successful exec() or execve(). @@ -1371,8 +1366,7 @@ Preopen(struct ps_prochandle *P) if (P->state == PS_STOP && (P->status.pr_lwp.pr_why == PR_REQUESTED || (P->status.pr_lwp.pr_why == PR_SYSEXIT && - (P->status.pr_lwp.pr_what == SYS_exec || - P->status.pr_lwp.pr_what == SYS_execve)))) { + P->status.pr_lwp.pr_what == SYS_execve))) { /* fake up stop-on-exit-from-execve */ if (P->status.pr_lwp.pr_why == PR_REQUESTED) { P->status.pr_lwp.pr_why = PR_SYSEXIT; |