Module Name: src
Committed By: christos
Date: Wed Nov 9 19:16:01 UTC 2011
Modified Files:
src/bin/csh: csh.h dol.c extern.h proc.c proc.h time.c
Log Message:
sync with /usr/bin/time, use CLOCK_MONOTONIC
To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/bin/csh/csh.h
cvs rdiff -u -r1.27 -r1.28 src/bin/csh/dol.c
cvs rdiff -u -r1.23 -r1.24 src/bin/csh/extern.h
cvs rdiff -u -r1.34 -r1.35 src/bin/csh/proc.c
cvs rdiff -u -r1.12 -r1.13 src/bin/csh/proc.h
cvs rdiff -u -r1.18 -r1.19 src/bin/csh/time.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/bin/csh/csh.h
diff -u src/bin/csh/csh.h:1.21 src/bin/csh/csh.h:1.22
--- src/bin/csh/csh.h:1.21 Mon Jul 16 14:26:09 2007
+++ src/bin/csh/csh.h Wed Nov 9 14:16:00 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: csh.h,v 1.21 2007/07/16 18:26:09 christos Exp $ */
+/* $NetBSD: csh.h,v 1.22 2011/11/09 19:16:00 christos Exp $ */
/*-
* Copyright (c) 1980, 1991, 1993
@@ -141,7 +141,7 @@ Char *shtemp; /* Temp name for << shel
#include <sys/time.h>
#include <sys/types.h>
-struct timeval time0; /* Time at which the shell started */
+struct timespec time0; /* Time at which the shell started */
struct rusage ru0;
/*
Index: src/bin/csh/dol.c
diff -u src/bin/csh/dol.c:1.27 src/bin/csh/dol.c:1.28
--- src/bin/csh/dol.c:1.27 Mon Aug 29 10:51:17 2011
+++ src/bin/csh/dol.c Wed Nov 9 14:16:01 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: dol.c,v 1.27 2011/08/29 14:51:17 joerg Exp $ */
+/* $NetBSD: dol.c,v 1.28 2011/11/09 19:16:01 christos Exp $ */
/*-
* Copyright (c) 1980, 1991, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)dol.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: dol.c,v 1.27 2011/08/29 14:51:17 joerg Exp $");
+__RCSID("$NetBSD: dol.c,v 1.28 2011/11/09 19:16:01 christos Exp $");
#endif
#endif /* not lint */
@@ -815,7 +815,7 @@ void
heredoc(Char *term)
{
Char obuf[BUFSIZE], lbuf[BUFSIZE], mbuf[BUFSIZE];
- struct timeval tv;
+ struct timespec tv;
Char *Dv[2], *lbp, *obp, *mbp, **vp;
char *tmp;
int c, ocnt, lcnt, mcnt;
@@ -826,9 +826,9 @@ again:
if (open(tmp, O_RDWR | O_CREAT | O_TRUNC | O_EXCL, 0600) < 0) {
if (errno == EEXIST) {
if (unlink(tmp) == -1) {
- (void)gettimeofday(&tv, NULL);
+ (void)clock_gettime(CLOCK_MONOTONIC, &tv);
mbp = putn((((int)tv.tv_sec) ^
- ((int)tv.tv_usec) ^ ((int)getpid())) & 0x00ffffff);
+ ((int)tv.tv_nsec) ^ ((int)getpid())) & 0x00ffffff);
shtemp = Strspl(STRtmpsh, mbp);
xfree((ptr_t)mbp);
}
Index: src/bin/csh/extern.h
diff -u src/bin/csh/extern.h:1.23 src/bin/csh/extern.h:1.24
--- src/bin/csh/extern.h:1.23 Mon Aug 29 10:51:17 2011
+++ src/bin/csh/extern.h Wed Nov 9 14:16:01 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: extern.h,v 1.23 2011/08/29 14:51:17 joerg Exp $ */
+/* $NetBSD: extern.h,v 1.24 2011/11/09 19:16:01 christos Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -288,8 +288,8 @@ void plist(struct varent *);
*/
void donice(Char **, struct command *);
void dotime(Char **, struct command *);
-void prusage(FILE *, struct rusage *, struct rusage *, struct timeval *,
- struct timeval *);
+void prusage(FILE *, struct rusage *, struct rusage *, struct timespec *,
+ struct timespec *);
void ruadd(struct rusage *, struct rusage *);
void settimes(void);
void psecs(long);
Index: src/bin/csh/proc.c
diff -u src/bin/csh/proc.c:1.34 src/bin/csh/proc.c:1.35
--- src/bin/csh/proc.c:1.34 Mon Jul 16 14:26:10 2007
+++ src/bin/csh/proc.c Wed Nov 9 14:16:01 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: proc.c,v 1.34 2007/07/16 18:26:10 christos Exp $ */
+/* $NetBSD: proc.c,v 1.35 2011/11/09 19:16:01 christos Exp $ */
/*-
* Copyright (c) 1980, 1991, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)proc.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: proc.c,v 1.34 2007/07/16 18:26:10 christos Exp $");
+__RCSID("$NetBSD: proc.c,v 1.35 2011/11/09 19:16:01 christos Exp $");
#endif
#endif /* not lint */
@@ -109,7 +109,7 @@ found:
}
else {
if (pp->p_flags & (PTIME | PPTIME) || adrof(STRtime))
- (void)gettimeofday(&pp->p_etime, NULL);
+ (void)clock_gettime(CLOCK_MONOTONIC, &pp->p_etime);
pp->p_rusage = ru;
if (WIFSIGNALED(w)) {
@@ -500,7 +500,7 @@ palloc(int pid, struct command *t)
}
pp->p_next = proclist.p_next;
proclist.p_next = pp;
- (void)gettimeofday(&pp->p_btime, NULL);
+ (void)clock_gettime(CLOCK_MONOTONIC, &pp->p_btime);
}
static void
@@ -800,9 +800,9 @@ static void
ptprint(struct process *tp)
{
static struct rusage zru;
- static struct timeval ztime;
+ static struct timespec ztime;
struct rusage ru;
- struct timeval tetime, diff;
+ struct timespec tetime, diff;
struct process *pp;
pp = tp;
@@ -810,8 +810,8 @@ ptprint(struct process *tp)
tetime = ztime;
do {
ruadd(&ru, &pp->p_rusage);
- timersub(&pp->p_etime, &pp->p_btime, &diff);
- if (timercmp(&diff, &tetime, >))
+ timespecsub(&pp->p_etime, &pp->p_btime, &diff);
+ if (timespeccmp(&diff, &tetime, >))
tetime = diff;
} while ((pp = pp->p_friends) != tp);
prusage(cshout, &zru, &ru, &tetime, &ztime);
Index: src/bin/csh/proc.h
diff -u src/bin/csh/proc.h:1.12 src/bin/csh/proc.h:1.13
--- src/bin/csh/proc.h:1.12 Mon Jul 16 14:26:10 2007
+++ src/bin/csh/proc.h Wed Nov 9 14:16:01 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: proc.h,v 1.12 2007/07/16 18:26:10 christos Exp $ */
+/* $NetBSD: proc.h,v 1.13 2011/11/09 19:16:01 christos Exp $ */
/*-
* Copyright (c) 1980, 1991, 1993
@@ -52,8 +52,8 @@ struct process {
pid_t p_pid;
pid_t p_jobid; /* pid of job leader */
/* if a job is stopped/background p_jobid gives its pgrp */
- struct timeval p_btime; /* begin time */
- struct timeval p_etime; /* end time */
+ struct timespec p_btime; /* begin time */
+ struct timespec p_etime; /* end time */
struct rusage p_rusage;
Char *p_command; /* first PMAXLEN chars of command */
};
Index: src/bin/csh/time.c
diff -u src/bin/csh/time.c:1.18 src/bin/csh/time.c:1.19
--- src/bin/csh/time.c:1.18 Sun Aug 28 03:49:16 2011
+++ src/bin/csh/time.c Wed Nov 9 14:16:01 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: time.c,v 1.18 2011/08/28 07:49:16 christos Exp $ */
+/* $NetBSD: time.c,v 1.19 2011/11/09 19:16:01 christos Exp $ */
/*-
* Copyright (c) 1980, 1991, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)time.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: time.c,v 1.18 2011/08/28 07:49:16 christos Exp $");
+__RCSID("$NetBSD: time.c,v 1.19 2011/11/09 19:16:01 christos Exp $");
#endif
#endif /* not lint */
@@ -58,7 +58,7 @@ settimes(void)
{
struct rusage ruch;
- (void)gettimeofday(&time0, NULL);
+ (void)clock_gettime(CLOCK_MONOTONIC, &time0);
(void)getrusage(RUSAGE_SELF, &ru0);
(void)getrusage(RUSAGE_CHILDREN, &ruch);
ruadd(&ru0, &ruch);
@@ -73,12 +73,12 @@ void
dotime(Char **v, struct command *t)
{
struct rusage ru1, ruch;
- struct timeval timedol;
+ struct timespec timedol;
(void)getrusage(RUSAGE_SELF, &ru1);
(void)getrusage(RUSAGE_CHILDREN, &ruch);
ruadd(&ru1, &ruch);
- (void)gettimeofday(&timedol, NULL);
+ (void)clock_gettime(CLOCK_MONOTONIC, &timedol);
prusage(cshout, &ru0, &ru1, &timedol, &time0);
}
@@ -127,8 +127,8 @@ ruadd(struct rusage *ru, struct rusage *
#endif /* NOT_CSH */
void
-prusage(FILE *fp, struct rusage *r0, struct rusage *r1, struct timeval *e,
- struct timeval *b)
+prusage(FILE *fp, struct rusage *r0, struct rusage *r1, struct timespec *e,
+ struct timespec *b)
{
#ifndef NOT_CSH
struct varent *vp;
@@ -139,7 +139,7 @@ prusage(FILE *fp, struct rusage *r0, str
int ms;
cp = "%Uu %Ss %E %P %X+%Dk %I+%Oio %Fpf+%Ww";
- ms = (e->tv_sec - b->tv_sec) * 100 + (e->tv_usec - b->tv_usec) / 10000;
+ ms = (e->tv_sec - b->tv_sec) * 100 + (e->tv_nsec - b->tv_nsec) / 10000000;
t = (r1->ru_utime.tv_sec - r0->ru_utime.tv_sec) * 100 +
(r1->ru_utime.tv_usec - r0->ru_utime.tv_usec) / 10000 +
(r1->ru_stime.tv_sec - r0->ru_stime.tv_sec) * 100 +