Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 03 Nov 2012 12:45:59 -0600
From:      Ian Lepore <freebsd@damnhippie.dyndns.org>
To:        Xin LI <delphij@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r242519 - head/usr.sbin/watchdogd
Message-ID:  <1351968359.1120.106.camel@revolution.hippie.lan>
In-Reply-To: <201211031838.qA3IcSUR021854@svn.freebsd.org>
References:  <201211031838.qA3IcSUR021854@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 2012-11-03 at 18:38 +0000, Xin LI wrote:
> Author: delphij
> Date: Sat Nov  3 18:38:28 2012
> New Revision: 242519
> URL: http://svn.freebsd.org/changeset/base/242519
> 
> Log:
>   Replace log(3) with flsll(3) for watchdogd(8) and drop libm dependency.
>   
>   MFC after:	2 weeks
> 
> Modified:
>   head/usr.sbin/watchdogd/Makefile
>   head/usr.sbin/watchdogd/watchdogd.c
> 
> Modified: head/usr.sbin/watchdogd/Makefile
> ==============================================================================
> --- head/usr.sbin/watchdogd/Makefile	Sat Nov  3 18:21:32 2012	(r242518)
> +++ head/usr.sbin/watchdogd/Makefile	Sat Nov  3 18:38:28 2012	(r242519)
> @@ -4,8 +4,8 @@ PROG=	watchdogd
>  LINKS=	${BINDIR}/watchdogd ${BINDIR}/watchdog
>  MAN=	watchdogd.8 watchdog.8
>  
> -LDADD=	-lm -lutil
> -DPADD=	${LIBM} ${LIBUTIL}
> +LDADD=	-lutil
> +DPADD=	${LIBUTIL}
>  
>  .include <bsd.prog.mk>
>  
> 
> Modified: head/usr.sbin/watchdogd/watchdogd.c
> ==============================================================================
> --- head/usr.sbin/watchdogd/watchdogd.c	Sat Nov  3 18:21:32 2012	(r242518)
> +++ head/usr.sbin/watchdogd/watchdogd.c	Sat Nov  3 18:38:28 2012	(r242519)
> @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$");
>  #include <stdio.h>
>  #include <stdlib.h>
>  #include <string.h>
> +#include <strings.h>
>  #include <sysexits.h>
>  #include <unistd.h>
>  
> @@ -280,7 +281,7 @@ parseargs(int argc, char *argv[])
>  			if (a == 0)
>  				timeout = WD_TO_NEVER;
>  			else
> -				timeout = 1.0 + log(a * 1e9) / log(2.0);
> +				timeout = flsll(a * 1e9);
>  			if (debugging)
>  				printf("Timeout is 2^%d nanoseconds\n",
>  				    timeout);

Shouldn't we also change the type of the variable 'a' from double to
int64 (and the strtod() and the 1e9 constant), thus removing all dregs
of floating point where it isn't really needed?  (Sorry, but 20 years of
working on wimpy embedded systems without FP hardware just make me blurt
out these things automatically).

-- Ian





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1351968359.1120.106.camel>