[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140326.170514.1793472148242469413.davem@davemloft.net>
Date: Wed, 26 Mar 2014 17:05:14 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: rweikusat@...ileactivedefense.com
Cc: eric.dumazet@...il.com, David.Laight@...LAB.COM,
netdev@...r.kernel.org
Subject: Re: [PATCH] net: unix: non blocking recvmsg() should not return
-EINTR
From: Rainer Weikusat <rweikusat@...ileactivedefense.com>
Date: Wed, 26 Mar 2014 19:46:05 +0000
> As I already wrote, this is a theoretical problem with no really
> satisfactory solution minus noting that both 'nonblocking sockets' and
> 'multithreaded kernels' are somewhat alien concepts when considering the
> system where EINTR originated (AFAIK).
I completely disagree.
EINTR always means that you asked for a blocking operation, and a
signal arrived meanwhile.
Once you invert the "blocking" part of that set of conditrions, EINTR
becomes an impossible event.
I don't have time to check BSD, but I'm very confident that these are
the rules codified in their socket syscall layer too.
I'm going to apply Eric's patch.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists