On 16 Sep, 2010, at 14:38, Armin Ronacher wrote:
>
> Armin Ronacher <armin.ronacher@active-4.com> added the comment:
>
> There is a funny story related to that though :)
>
> "BSD avoids EINTR entirely and provides a more convenient approach:
> to restart the interrupted primitive, instead of making it fail."
>
> BSD does, but the Mach/XNU kernel combo on OS X is not. Which is why all the shipped BSD tools have that bug, but if you run their GNU equivalents on OS X everything work as expected.
setting the SA_RESTART in the call to sigaction should work (on OSX HAVE_SIGACTION is defined), unless the manpage is lying.
Ronald