Bryan Linton wrote:
> Hello tech@,
> 
> I'd appreciate it if someone could review both this patch and my
> analysis.

There is no reason for etime to be a global. We can make it a local with the
correct value in the two functions that use it, avoiding future problems as
well.


Index: vmstat.c
===================================================================
RCS file: /cvs/src/usr.bin/systat/vmstat.c,v
retrieving revision 1.89
diff -u -p -r1.89 vmstat.c
--- vmstat.c    17 Nov 2018 23:10:08 -0000      1.89
+++ vmstat.c    19 Jan 2019 21:06:38 -0000
@@ -97,7 +97,6 @@ int select_vm(void);
 int vm_keyboard_callback(int);
 
 static time_t t;
-static double etime;
 static float hertz;
 static int nintr;
 static long *intrloc;
@@ -336,6 +335,7 @@ showkre(void)
        u_int64_t inttotal, intcnt;
        int i, l, c;
        static int failcnt = 0, first_run = 0;
+       double etime;
 
        if (state == TIME) {
                if (!first_run) {
@@ -676,7 +676,9 @@ copyinfo(struct Info *from, struct Info 
 static void
 dinfo(int dn, int c)
 {
-       double words, atime;
+       double words, atime, etime;
+
+       etime = naptime;
 
        c += DISKCOL;
 

Reply via email to