From d77e5bfd6c286dfeaca6e9807281f7001ff6bc7b Mon Sep 17 00:00:00 2001 From: Paul Ackersviller Date: Tue, 18 Sep 2007 02:38:15 +0000 Subject: Merge of SF bug #1262954: compilation problem. --- Src/jobs.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'Src/jobs.c') diff --git a/Src/jobs.c b/Src/jobs.c index 55369ce85..94033cb31 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