2002-12-28 23:29:16

by folkert

[permalink] [raw]
Subject: EINTR

Hi,

I always thought: you should always check for errno==EINTR when doing
read/write/recv/recvfrom/sendto.
But today I heard that when using Linux, EINTR does NEVER occur when
doing read/etc. on files.
Is this true?
And also: is this also true for sockets? and recv & friends?


Folkert van Heusden
http://www.vanheusden.com/Linux


2002-12-30 10:44:06

by Alex Riesen

[permalink] [raw]
Subject: Re: EINTR

Folkert van Heusden, Sun, Dec 29, 2002 00:37:34 +0100:
> Hi,
>
> I always thought: you should always check for errno==EINTR when doing
> read/write/recv/recvfrom/sendto.
> But today I heard that when using Linux, EINTR does NEVER occur when
> doing read/etc. on files.
> Is this true?

It was definitely true for 2.4.9.
Even on NFS mounted files.
What happen if the volumes mounted with intr, btw?

> And also: is this also true for sockets? and recv & friends?

No. You _have_to_ check EINTR for sockets, fifos, and pipes.

-alex