Date: Tue, 12 Aug 1997 15:00:11 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: ache@nagual.pp.ru (=?KOI8-R?B?4c7E0sXKIP7F0s7P1w==?=) Cc: terry@lambert.org, sos@sos.freebsd.dk, current@FreeBSD.ORG Subject: Re: siginterrupt (was Re: Error in sleep !) Message-ID: <199708122200.PAA07903@phaeton.artisoft.com> In-Reply-To: <Pine.BSF.3.96.970813014952.331A-100000@lsd.relcom.eu.net> from "=?KOI8-R?B?4c7E0sXKIP7F0s7P1w==?=" at Aug 13, 97 01:54:52 am
next in thread | previous in thread | raw e-mail | index | archive | help
> > By default, in traditional BSD, after a signal, the call was > > restarted. > > > > This man page is incorrect about the default for FreeBSD; so > > is the signal man page. > > As I check, man page says that it will be restarted for FreeBSD too. > What is incorrect here? I just check signal.c and see that SA_RESTART > is set unless expicitly disabled by siginterrupt(3)... The claim is that FreeBSD defaults have been brought into concordance with POSIX. And the man pages have not been updated. To the original poster: The system call restart of a sleep(3) does *not* guarantee that the elapsed time is subtracted from the argument when the restart is initiated (ie: if you sleep for 2 of 3 seconds, get a signal, and restart, the restart will likely be for another 3 seconds -- not the remaining 1). So depending on this behaviour is probably an error, in any case. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708122200.PAA07903>