From owner-freebsd-current Wed Aug 13 12:55:43 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id MAA23981 for current-outgoing; Wed, 13 Aug 1997 12:55:43 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.50]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id MAA23973 for ; Wed, 13 Aug 1997 12:55:40 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id MAA12930; Wed, 13 Aug 1997 12:50:32 -0700 From: Terry Lambert Message-Id: <199708131950.MAA12930@phaeton.artisoft.com> Subject: Re: siginterrupt (was Re: Error in sleep !) To: ache@nagual.pp.ru (=?KOI8-R?B?4c7E0sXKIP7F0s7P1w==?=) Date: Wed, 13 Aug 1997 12:50:32 -0700 (MST) Cc: terry@lambert.org, bde@zeta.org.au, current@FreeBSD.ORG, sos@sos.freebsd.dk In-Reply-To: from "=?KOI8-R?B?4c7E0sXKIP7F0s7P1w==?=" at Aug 13, 97 10:34:28 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > > > So, it means that we still compatible with POSIX here. > > > I'll change > > > the default behaviour on FreeBSD > > > to > > > the default behaviour for signal(3) on FreeBSD > > > to make siginterrupt(3) man page more clear. > > > > Still wrong. FreeBSD does not restart system calls by default. > > Hmm. What do you mean exacly in "by default"? Without you specifically calling siginterrupt() to toggle SA_RESTART from off to on (default is off), or calling sigaction() to set the SA_RESTART bit in the sa_flags filed (non-POSIX flag value). > When program use signal(3), it have restartable syscalls, but this case > not covered by POSIX at all since there is no signal(3) in POSIX. It's very odd, and not terribly consistent. I know. 8-|. > When program use sigaction(2) with sa_flags == 0, it _not_ have > restartable syscalls as POSIX requires. > > > I think it was a bad decision, but it's one required for a strict > > POSIX environment. > > IMHO, we already are inside strict POSIX requirement in this area. What if you call neither sigaction(), nor signal()? What if you call sleep(3)? What behaviour does it have? That's the point... Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.