Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Jan 2002 12:14:45 +0200
From:      Ruslan Ermilov <ru@FreeBSD.ORG>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Dag-Erling Smorgrav <des@ofug.org>, arch@FreeBSD.ORG
Subject:   Re: Nit in wait(2) man page?
Message-ID:  <20020124121445.F16972@sunbay.com>
In-Reply-To: <3C4FCE98.2C0BE57E@mindspring.com>
References:  <xzpadv4dtbz.fsf@flood.ping.uio.no> <3C4FCE98.2C0BE57E@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 24, 2002 at 01:06:32AM -0800, Terry Lambert wrote:
> Dag-Erling Smorgrav wrote:
> > The wait(2) man page says:
> > 
> >      [EINTR]            The call was interrupted by a caught signal, or the
> >                         signal did not have the SA_RESTART flag set.
> > 
> > Should this be s/or/and/?
> 
> Yes.  Interrupted system calls do not return error codes if
> the restart flag is set, they are restarted, instead.
> 
I'd suggest that you just drop that ", or" part, like any other
interruptable syscalls manpages do (see siginterrupt(3)).

> I think you may need to be careful here, though, based on
> the interaction with threads.  I'm not sure how the wrapped
> system calls find themselves restarted, if they are
> interrupted by a signal handler.  In tehory, this should be
> transparent, but in practice, there is a heck of a lot of
> voodoo in the wrapper code to deal with masks and stuff,
> mostly to deal with the fact that system call restart is no
> longer the default behaviour, thanks to POSIX.
> 
POSIX has:

[EINTR]             The function was interrupted by a signal.

[siginterrupt(3) historical material snipped]


Cheers,
-- 
Ruslan Ermilov		Oracle Developer/DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




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