Subject: Re: NetBSD master CVS tree commits
To: None <perry@NetBSD.ORG>
From: Chris G. Demetriou <cgd@pa.dec.com>
List: current-users
Date: 08/13/1997 14:27:55
[ sorry for the delayed whining, but i've been busy moving.  8-]

> perry
> Sun Aug  3 18:13:11 PDT 1997
> Update of /a/cvsroot/src/bin/sleep
> In directory netbsd1:/var/slash-tmp/cvs-serv26744
> 
> Modified Files:
> 	Makefile sleep.1 sleep.c 
> Log Message:
> Make sleep handle non-integer values. Document the same, noting that
> the extension is grotesquely non-portable.
> 
> As requested by Denny Gentry in pr-3914. He supplied some code, but I
> used all my own code in the change, and wrote documentation for the
> man page.
> 
> This is creeping featurism at its worst. I added it only because I
> can't see a good reason for refusing. However, I'm disgusted with
> myself for doing it anyway.

In my opinion, _adding_ non-standard features to standard programs is
what should be justified, not keeping them out.  (This applies doubly
for ill-thought-out features.)

There is not much use for this "feature" to begin with, since 'sleep'
by its very definition cannot be used for high-precision sleeps.  It
waits _at least_ as long as the specified time; the only guarantee
that it makes is that it doesn't sleep for less than the specified
time.  Because of the way it is an had traditionally been implemented,
a better operational bound than that is impossible.  Because of its
definition, it can't be used for high-precision sleeps anyway!

Because it has little value except that NetBSD can now claim this
great new feature, and because it encourages people to write
non-portable scripts, I definitely think this change shouldn't have
been made.


cgd