140865Sbostic /*- 240865Sbostic * Copyright (c) 1979 The Regents of the University of California. 340865Sbostic * All rights reserved. 440865Sbostic * 540865Sbostic * %sccs.include.redist.c% 640865Sbostic */ 71671Smckusick 840865Sbostic #ifndef lint 9*44647Smckusick static char sccsid[] = "@(#)PCEXIT.c 1.3 (Berkeley) 06/29/90"; 1040865Sbostic #endif /* not lint */ 111671Smckusick 121671Smckusick #include "h00vars.h" 13*44647Smckusick #include <sys/time.h> 14*44647Smckusick #include <sys/resource.h> 151671Smckusick 161671Smckusick PCEXIT(code) 171671Smckusick 181671Smckusick int code; 191671Smckusick { 201671Smckusick double l; 21*44647Smckusick struct rusage ru; 221671Smckusick 231671Smckusick PCLOSE(GLVL); 241671Smckusick PFLUSH(); 251671Smckusick if (_stcnt > 0) { 26*44647Smckusick if (getrusage(RUSAGE_SELF, &ru) < 0) 27*44647Smckusick exit(code); 28*44647Smckusick l = ru.ru_utime.tv_usec; 29*44647Smckusick l /= 1000000; 30*44647Smckusick l += ru.ru_utime.tv_sec; 311671Smckusick fprintf(stderr, "\n%1ld %s %04.2f seconds cpu time.\n", 321671Smckusick _stcnt, "statements executed in", l); 331671Smckusick } 341671Smckusick exit(code); 351671Smckusick } 36