leres@ace.ee.lbl.gov (Craig Leres) (11/15/89)
Yesterday I was pawing through the nntp logfiles and happened to
noticed some unusual entries, for example:
Nov 13 13:22:59 helios nntpd[21705]: pi6.lbl.gov times user 0.6 system 0.5 elapsed -0.8
The bug is in serve(). Cleverly, the start and finish times are being
calculated by subtracting the microseconds from the seconds... A
context diff is appened. (We're running 1.5.6 but I checked and the bug
is in 1.5.7 too.)
Craig
------
RCS file: RCS/serve.c,v
retrieving revision 1.7
diff -c -r1.7 serve.c
*** /tmp/,RCSt1a14346 Tue Nov 14 21:55:34 1989
--- serve.c Tue Nov 14 21:57:24 1989
***************
*** 215,221 ****
timeptr = ctime(&start);
#else not USG
(void) gettimeofday(&start, (struct timezone *)NULL);
! Tstart = (double) start.tv_sec - ((double)start.tv_usec)/1000000.0;
timeptr = ctime(&start.tv_sec);
#endif not USG
if ((cp = index(timeptr, '\n')) != NULL)
--- 215,221 ----
timeptr = ctime(&start);
#else not USG
(void) gettimeofday(&start, (struct timezone *)NULL);
! Tstart = (double) start.tv_sec + ((double)start.tv_usec)/1000000.0;
timeptr = ctime(&start.tv_sec);
#endif not USG
if ((cp = index(timeptr, '\n')) != NULL)
***************
*** 329,335 ****
sys = (double)(cpu.tms_stime + cpu.tms_cstime) / HZ;
#else not USG
(void) gettimeofday(&finish, (struct timezone *)NULL);
! Tfinish = (double) finish.tv_sec - ((double)finish.tv_usec)/1000000.0;
(void) getrusage(RUSAGE_SELF, &me);
(void) getrusage(RUSAGE_CHILDREN, &kids);
--- 329,335 ----
sys = (double)(cpu.tms_stime + cpu.tms_cstime) / HZ;
#else not USG
(void) gettimeofday(&finish, (struct timezone *)NULL);
! Tfinish = (double) finish.tv_sec + ((double)finish.tv_usec)/1000000.0;
(void) getrusage(RUSAGE_SELF, &me);
(void) getrusage(RUSAGE_CHILDREN, &kids);