- times(&obuffer);
- while(wait(&status) != p)
- times(&obuffer);
- time(&after);
- if((status&0377) != 0)
- fprintf(stderr,"Command terminated abnormally.\n");
- times(&buffer);
- printt("real", (after-before) * 60);
- printt("user", buffer.tms_cutime - obuffer.tms_cutime);
- printt("sys ", buffer.tms_cstime - obuffer.tms_cstime);
+ while (wait3(&status, 0, &ru) != p)
+ ;
+ gettimeofday(&after, 0);
+ if ((status&0377) != 0)
+ fprintf(stderr, "Command terminated abnormally.\n");
+ after.tv_sec -= before.tv_sec;
+ after.tv_usec -= before.tv_usec;
+ if (after.tv_usec < 0)
+ after.tv_sec--, after.tv_usec += 1000000;
+ printt("real", &after);
+ printt("user", &ru.ru_utime);
+ printt("sys ", &ru.ru_stime);