summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Gallatin <gallatin@FreeBSD.org>2000-01-29 06:31:27 +0000
committerAndrew Gallatin <gallatin@FreeBSD.org>2000-01-29 06:31:27 +0000
commit2f970b91c77a3e63a2f3af468e6fdad2264cd2f3 (patch)
tree7f46c85209befdc12d46c871622be16a2d490283
parent6dbccd6e0043ce3f560fc616eec6b8243bb4e4df (diff)
Notes
-rw-r--r--sys/alpha/osf1/osf1_misc.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/alpha/osf1/osf1_misc.c b/sys/alpha/osf1/osf1_misc.c
index be49993f90eb..1fcb381409e5 100644
--- a/sys/alpha/osf1/osf1_misc.c
+++ b/sys/alpha/osf1/osf1_misc.c
@@ -1320,13 +1320,15 @@ osf1_wait4(p, uap)
int error;
caddr_t sg;
struct osf1_rusage *orusage, oru;
- struct rusage *rusage, ru;
+ struct rusage *rusage = NULL, ru;
- sg = stackgap_init();
- rusage = stackgap_alloc(&sg, sizeof(struct rusage));
orusage = SCARG(uap, rusage);
- SCARG(uap, rusage) = (struct osf1_rusage *)rusage;
- if ((error = wait4(p, (struct wait_args *)uap) != 0))
+ if (orusage) {
+ sg = stackgap_init();
+ rusage = stackgap_alloc(&sg, sizeof(struct rusage));
+ SCARG(uap, rusage) = (struct osf1_rusage *)rusage;
+ }
+ if ((error = wait4(p, (struct wait_args *)uap)))
return error;
if (orusage && (error = copyin(rusage, &ru, sizeof(ru)) == 0)){
TV_CP(ru.ru_utime, oru.ru_utime);