]> Zhao Yanbai Git Server - minix.git/commitdiff
Fix erroneous times() call in udpstat/tcpstat.
authorDavid van Moolenbroek <david@minix3.org>
Thu, 1 Oct 2009 10:31:29 +0000 (10:31 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Thu, 1 Oct 2009 10:31:29 +0000 (10:31 +0000)
Reported by John Peace, bug #312.
Also fix times(2) man page.

commands/simple/tcpstat.c
commands/simple/udpstat.c
man/man2/times.2

index 6fa78da65d314c76a2911d643e701a057b635fbb..2d2a8f23575f9fe956b80f004b65170573d292fb 100644 (file)
@@ -52,6 +52,7 @@ int main(int argc, char*argv[])
        clock_t now;
        int fl;
        int a_flag, n_flag, v_flag;
+       struct tms tmsbuf;
 
        getsysinfo_up(PM_PROC_NR, SIU_SYSTEMHZ, sizeof(system_hz), &system_hz);
 
@@ -130,7 +131,7 @@ int main(int argc, char*argv[])
        }
        now= uptime.tv_sec * HZ + (uptime.tv_usec*HZ/1000000);
 #else  /* Minix 3 */
-       now= times(NULL);
+       now= times(&tmsbuf);
 #endif
 
        for (i= 0; i<TCP_CONN_NR; i++)
index 8e4ed8210f58155fdb3fcfd024d0b0a9ef60fb0c..b75484ac3d6dc716110cc4415725302f5968bd25 100644 (file)
@@ -56,6 +56,7 @@ int main(int argc, char*argv[])
        clock_t now;
        int fl;
        int a_flag, n_flag;
+       struct tms tmsbuf;
 
        (prog_name=strrchr(argv[0], '/')) ? prog_name++ : (prog_name=argv[0]);
 
@@ -221,7 +222,7 @@ int main(int argc, char*argv[])
        }
        now= uptime.tv_sec * HZ + (uptime.tv_usec*HZ/1000000);
 #else  /* Minix 3 */
-       now= times(NULL);
+       now= times(&tmsbuf);
 #endif
 
        for (i= 0; i<UDP_FD_NR; i++)
index da9fc98561e6b0430e9b42a4cedd9f36adf32bc0..890c25d1e385b47f483960c8a7708ea42ebb3436 100644 (file)
@@ -23,7 +23,7 @@ returns time-accounting information
 for the current process
 and for the terminated child processes
 of the current process.
-All times are in 1/CLOCKS_PER_SEC seconds.
+All times are in system clock ticks.
 .PP
 This is the structure returned by
 .BR times :
@@ -51,9 +51,14 @@ of the children's process times and
 their children's times.
 .SH RETURN
 .B Times
-returns 0 on success, otherwise \-1 with the error code stored into the
+returns the number of system clock ticks since boot time on success,
+otherwise \-1 with the error code stored into the
 global variable
 .BR errno .
+Since \-1 is also a valid return value upon success, one should clear
+.B errno
+before calling this function, and if \-1 is returned,
+check its value again afterwards.
 .SH ERRORS
 The following error code may be set in
 .BR errno :