Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Sep 2010 09:57:33 +0000
From:      David Xu <davidxu@freebsd.org>
To:        Jilles Tjoelker <jilles@stack.nl>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: sigwait() cancellation point
Message-ID:  <4C8A010D.6050805@freebsd.org>
In-Reply-To: <20100909225524.GC48144@stack.nl>
References:  <20100906220041.GA4729@stack.nl> <4C86787E.6070908@freebsd.org> <20100908175609.GA30144@stack.nl> <4C88EF47.4010906@freebsd.org> <20100909225524.GC48144@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help

Jilles Tjoelker wrote:
> Recent versions of glibc do this. They implement
> sigwait/sigwaitinfo/sigtimedwait based on a single extended sigtimedwait
> system call; sigwait differs from the others by retrying when it gets
> EINTR. This is not documented very well in man pages (for example, man
> sigwait might get you an ancient LinuxThreads man page).
> 
> One reference:
> http://lkml.indiana.edu/hypermail/linux/kernel/0508.0/0181.html
> 
> Google also provides various examples of applications that treated any
> sigwait() error as fatal and needed to be changed to work reliably on
> systems where sigwait() may return EINTR (not just FreeBSD).
> 
I have committed it, thanks!



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