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>