Return to BSD News archive
Newsgroups: comp.bugs.2bsd Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!news.wildstar.net!news.ececs.uc.edu!newsxfer.itd.umich.edu!newsxfer3.itd.umich.edu!news.maxwell.syr.edu!news-xfer.cybernet.dk!news.new-york.net!wlbr!moe.2bsd.com!sms From: sms@moe.2bsd.com (Steven M. Schultz) Subject: ruptime vs. systems up more than a year (#368) Organization: 2BSD, Simi Valley CA USA Message-ID: <E8vCus.1Cp@moe.2bsd.com> Date: Sat, 19 Apr 1997 05:06:28 GMT Lines: 134 Xref: euryale.cc.adfa.oz.au comp.bugs.2bsd:749 Subject: ruptime vs. systems up more than a year (#368) Index: ucb/ruptime.c 2.11BSD Description: ruptime prints "??:??" if it sees a system up more than a year. Repeat-By: Have a system stay up for a year (a good UPS helps a *lot*). Do a 'ruptime -a' and observe: catbert down 10+15:02 curly up 0:48, 1 user, load 0.73, 0.45, 0.44 curlyjoe down 70+12:26 larry up 2:00, 1 user, load 1.43, 1.39, 1.19 moe up 6+15:30, 6 users, load 2.06, 2.08, 2.08 ns3 up ??:??, 0 users, load 0.10, 0.17, 0.11 Fix: Apply the small patch below. It simply extends, to 3 years, the interval ruptime will believe as reasonable. Cut where indicated, saving to a file (/tmp/368) and then: patch -p0 < /tmp/368 cd /usr/src/ucb make ruptime install -s -m 755 ruptime /usr/ucb/ruptime The output from ruptime looks like this after installing the new version: catbert down 10+15:02 curly up 0:48, 1 user, load 0.73, 0.45, 0.44 curlyjoe down 70+12:27 larry up 2:00, 1 user, load 1.43, 1.39, 1.19 moe up 6+15:30, 6 users, load 2.06, 2.08, 2.08 ns3 up 382+06:05, 0 users, load 0.10, 0.17, 0.11 Oh, in case you're wondering - curlyjoe's the notebook (BSD of course) and doesn't always run 'rwhod'. As always this and previous updates to 2.11BSD are available via anonymous FTP to either FTP.IIPO.GTEGSC.COM or MOE.2BSD.COM in the directory /pub/2.11BSD. --------------------------cut here------------------------- *** /usr/src/ucb/ruptime.c.old Thu Jan 12 08:50:56 1989 --- /usr/src/ucb/ruptime.c Fri Apr 18 12:39:53 1997 *************** *** 4,18 **** * specifies the terms and conditions for redistribution. */ ! #ifndef lint char copyright[] = "@(#) Copyright (c) 1983 Regents of the University of California.\n\ All rights reserved.\n"; - #endif not lint ! #ifndef lint ! static char sccsid[] = "@(#)ruptime.c 5.3 (Berkeley) 1/7/86"; ! #endif not lint #include <sys/param.h> #include <stdio.h> --- 4,16 ---- * specifies the terms and conditions for redistribution. */ ! #if !defined(lint) && defined(DOSCCS) char copyright[] = "@(#) Copyright (c) 1983 Regents of the University of California.\n\ All rights reserved.\n"; ! static char sccsid[] = "@(#)ruptime.c 5.3.1 (2.11BSD) 1997/4/18"; ! #endif #include <sys/param.h> #include <stdio.h> *************** *** 159,165 **** static char resbuf[32]; long days, hours, minutes; ! if (time < 0 || time > 365L*24L*60L*60L) { (void) sprintf(resbuf, " %s ??:??", updown); return (resbuf); } --- 157,163 ---- static char resbuf[32]; long days, hours, minutes; ! if (time < 0 || time > 3L* 365L*24L*60L*60L) { (void) sprintf(resbuf, " %s ??:??", updown); return (resbuf); } *************** *** 167,176 **** hours = minutes / 60; minutes %= 60; days = hours / 24; hours %= 24; if (days) ! (void) sprintf(resbuf, "%s %2ld+%02ld:%02ld", updown, days, hours, minutes); else ! (void) sprintf(resbuf, "%s %2ld:%02ld", updown, hours, minutes); return (resbuf); } --- 165,174 ---- hours = minutes / 60; minutes %= 60; days = hours / 24; hours %= 24; if (days) ! (void) sprintf(resbuf, "%s %3ld+%02ld:%02ld", updown, days, hours, minutes); else ! (void) sprintf(resbuf, "%s %3ld:%02ld", updown, hours, minutes); return (resbuf); } *** /VERSION.old Fri Mar 28 20:05:40 1997 --- /VERSION Fri Apr 18 12:42:24 1997 *************** *** 1,5 **** ! Current Patch Level: 367 ! Date: March 28, 1997 2.11 BSD ============ --- 1,5 ---- ! Current Patch Level: 368 ! Date: April 18, 1997 2.11 BSD ============