summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorPhilip Guenthe <guenther@cvs.openbsd.org>2011-11-06 01:43:51 +0000
committerPhilip Guenthe <guenther@cvs.openbsd.org>2011-11-06 01:43:51 +0000
commit29e70d0d2b7fe5f61fb7193f7ea2a8c59c5634a4 (patch)
tree82bf07c15c936247c09ca46809ee1eda37cb9231 /bin
parentf609247fe087b7b78333e341fe10d53c68ef5c60 (diff)
union wait is dead, ancient history; stop using it
ok deraadt@
Diffstat (limited to 'bin')
-rw-r--r--bin/csh/proc.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/bin/csh/proc.c b/bin/csh/proc.c
index 5f55b7cf6c3..0067cc80a1a 100644
--- a/bin/csh/proc.c
+++ b/bin/csh/proc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: proc.c,v 1.21 2009/10/27 23:59:21 deraadt Exp $ */
+/* $OpenBSD: proc.c,v 1.22 2011/11/06 01:43:50 guenther Exp $ */
/* $NetBSD: proc.c,v 1.9 1995/04/29 23:21:33 mycroft Exp $ */
/*-
@@ -75,13 +75,13 @@ pchild(int notused)
int pid;
extern int insource;
int save_errno = errno;
- union wait w;
+ int w;
int jobflags;
struct rusage ru;
loop:
errno = 0; /* reset, just in case */
- pid = wait3(&w.w_status,
+ pid = wait3(&w,
(setintr && (intty || insource) ? WNOHANG | WUNTRACED : WNOHANG), &ru);
if (pid <= 0) {
@@ -103,7 +103,7 @@ found:
pp->p_flags &= ~(PRUNNING | PSTOPPED | PREPORTED);
if (WIFSTOPPED(w)) {
pp->p_flags |= PSTOPPED;
- pp->p_reason = w.w_stopsig;
+ pp->p_reason = WSTOPSIG(w);
}
else {
if (pp->p_flags & (PTIME | PPTIME) || adrof(STRtime))
@@ -111,16 +111,16 @@ found:
pp->p_rusage = ru;
if (WIFSIGNALED(w)) {
- if (w.w_termsig == SIGINT)
+ if (WTERMSIG(w) == SIGINT)
pp->p_flags |= PINTERRUPTED;
else
pp->p_flags |= PSIGNALED;
- if (w.w_coredump)
+ if (WCOREDUMP(w))
pp->p_flags |= PDUMPED;
- pp->p_reason = w.w_termsig;
+ pp->p_reason = WTERMSIG(w);
}
else {
- pp->p_reason = w.w_retcode;
+ pp->p_reason = WEXITSTATUS(w);
if (pp->p_reason != 0)
pp->p_flags |= PAEXITED;
else