Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Aug 1997 23:05:08 +0200 (MEST)
From:      Søren Schmidt <sos@sos.freebsd.dk>
To:        ache@nagual.pp.ru (=?KOI8-R?B?4c7E0sXKIP7F0s7P1w==?=)
Cc:        current@FreeBSD.ORG
Subject:   Re: Error in sleep !
Message-ID:  <199708122105.XAA01981@sos.freebsd.dk>
In-Reply-To: <Pine.BSF.3.96.970812235803.27379A-100000@lsd.relcom.eu.net> from "[______ ______]" at "Aug 13, 97 00:13:36 am"

next in thread | previous in thread | raw e-mail | index | archive | help
In reply to [______ ______] who wrote:
[Charset KOI8-R unsupported, filtering to ASCII...]
> On Tue, 12 Aug 1997, S_ren Schmidt wrote:
> 
> > Well to quote sleep(1):
> >      The sleep command suspends execution for a minimum of seconds. sleep is
> >      used to schedule the execution of other commands (see EXAMPLES below).
> > 
> >      The sleep utility exits with one of the following values:
> > 
> >      0     On successful completion, or if the signal SIGALRM was received.
> > 
> >      >0    An error occurred.
> > 
> > This is not how our sleep(1) functions!, it'll exit on the first signal
> > it gets, because of the change in sleep(3)'s behavior....
> 
> Your quote says nothing about /bin/sleep signals handling, only about exit
> codes. When signal != SIGALRM comes sleep exit with exit code >=0 (An
> error occured)

Yes but thats not documented anywhere...
 
> > Now one has to encapsulte sleep(3) in a while loop to get it to
> > actually sleep the specified time, thats plain an simple stupid,
> > and also poses a risk for busy looping, a complete no-no i an
> > *IX system...
> 
> You can complain to POSIX commetee.  BTW, it is strange for me 
> 
> 1) Why sleep must be different than, say, cat which exits on signal
> coming...
> 2) Why you send signals to sleep, if you want to sleep specified time.

ARG! my gripe was with sleep(_3_), if my process hangs in a sleep
(for good reason), and a signal to the process comes along, I want
the handler called, and then the sleep should continue. With the
new functionality this fails, and I have to put the sleep call in
a loop where it gets reiterated until the sleeping period actually
has expired. This strikes me as illogical and not very elegant, be
it posix or not...

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Søren Schmidt               (sos@FreeBSD.org)               FreeBSD Core Team
                Even more code to hack -- will it ever end
..



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