From owner-freebsd-hackers Thu Sep 20 4:20: 8 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from vbook.express.ru (asplinux.ru [195.133.213.194]) by hub.freebsd.org (Postfix) with ESMTP id C42FA37B409; Thu, 20 Sep 2001 04:20:03 -0700 (PDT) Received: from vova by vbook.express.ru with local (Exim 3.31 #2) id 15k1tE-0000r2-00; Thu, 20 Sep 2001 15:21:08 +0400 To: FreeBSD-gnats-submit@freebsd.org Subject: uptime and w utilities lie about real uptime From: Vladimir B.Grebenschikov Reply-To: Vladimir B.Grebenschikov Cc: freebsd-hackers@freebsd.org X-send-pr-version: 3.113 X-GNATS-Notify: Message-Id: Date: Thu, 20 Sep 2001 15:21:08 +0400 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG >Submitter-Id: current-users >Originator: Vladimir B. Grebenschikov >Organization: TSB "Russian Express" >Confidential: no >Synopsis: uptime and w utilities lie about real uptime >Severity: non-critical >Priority: low >Category: bin >Class: sw-bug >Release: FreeBSD 5.0-CURRENT i386 >Environment: System: FreeBSD vbook.express.ru 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Wed Sep 19 20:26:25 MSD 2001 root@vbook.express.ru:/usr/src.local/sys/i386/compile/VBOOK i386 >Description: Just after very fast boot uptimealways shows more than 30 sec. looking to src/usr/bin/w/w.c: if (sysctl(mib, 2, &boottime, &size, NULL, 0) != -1 && boottime.tv_sec != 0) { uptime = now - boottime.tv_sec; uptime += 30; ====================== ^^^^^ days = uptime / 86400; uptime %= 86400; hrs = uptime / 3600; uptime %= 3600; mins = uptime / 60; secs = uptime % 60; (void)printf(" up"); why utility increases uptime on 30 seconds ?? Is any real reasons for it ? >How-To-Repeat: Boot and run uptime >Fix: --- src/usr.bin/w.c.orig Thu Sep 20 15:20:01 2001 +++ src/usr.bin/w.c Thu Sep 20 15:20:11 2001 @@ -450,7 +450,6 @@ if (sysctl(mib, 2, &boottime, &size, NULL, 0) != -1 && boottime.tv_sec != 0) { uptime = now - boottime.tv_sec; - uptime += 30; days = uptime / 86400; uptime %= 86400; hrs = uptime / 3600; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message