From 41fb468fca88b04ddc360b31db08ca4a412e3ee4 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Mon, 27 Mar 2006 11:41:17 +0000 Subject: Fixed a compilation problem when HAVE_GETRUSAGE is defined but HAVE_WAIT3. See the sourceforge bug report: https://sourceforge.net/tracker/?func=detail&atid=104068&aid=1262954&group_id=4068 --- Src/jobs.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'Src') diff --git a/Src/jobs.c b/Src/jobs.c index 4f89d0f53..f388da7fd 100644 --- a/Src/jobs.c +++ b/Src/jobs.c @@ -271,7 +271,7 @@ get_usage(void) } -#ifndef HAVE_GETRUSAGE +#if !defined HAVE_WAIT3 || !defined HAVE_GETRUSAGE /* Update status of process that we have just WAIT'ed for */ /**/ @@ -279,17 +279,26 @@ void update_process(Process pn, int status) { struct timezone dummy_tz; - long childs, childu; +#ifdef HAVE_GETRUSAGE + struct timeval childs = child_usage.ru_stime; + struct timeval childu = child_usage.ru_utime; +#else + long childs = shtms.tms_cstime; + long childu = shtms.tms_cutime; +#endif - childs = shtms.tms_cstime; - childu = shtms.tms_cutime; /* get time-accounting info */ get_usage(); gettimeofday(&pn->endtime, &dummy_tz); /* record time process exited */ pn->status = status; /* save the status returned by WAIT */ +#ifdef HAVE_GETRUSAGE + dtime(&pn->ti.ru_stime, &childs, &child_usage.ru_stime); + dtime(&pn->ti.ru_utime, &childu, &child_usage.ru_utime); +#else pn->ti.st = shtms.tms_cstime - childs; /* compute process system space time */ pn->ti.ut = shtms.tms_cutime - childu; /* compute process user space time */ +#endif } #endif -- cgit 1.4.1