On 07/03/2011 06:28 PM, Bastien ROUCARIES wrote:
> On Sun, Jul 3, 2011 at 5:36 PM, Bruno Haible<[email protected]> wrote:
>> Hi all,
>>
>> I wrote:
>>> ... in programs that don't install signal handlers, EINTR ... also occurs in
>>> MacOS X!
>>
>> It is worse than that:
>>
>> 1) Even on Linux, even when the signal handlers have the SA_RESTART flag set,
>> some system call (like msgrcv(), but not read()) can fail with EINTR.
>> See [1].
>
> Report to vger al viro and alan cox have fixed problem like this
> sometime ago. It is considered backported to stable
Not if it is documented I guess:
msgrcv() is never automatically
restarted after being interrupted by a signal handler, regardless of
the setting of the SA_RESTART flag when establishing a signal han‐
dler.
Paolo