diff options
author | Erik Hugne <erik.hugne@ericsson.com> | 2015-03-09 10:43:42 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-09 15:42:19 -0400 |
commit | 143fe22f50a8be855bba77b5b2dc9dd1a5982b1c (patch) | |
tree | ff4c064cb226d455ad2273770dec7432a58357ba /net/tipc/addr.c | |
parent | 57ad7a0a81f3e9e619540ce9e31d5bd724b59a6e (diff) | |
download | op-kernel-dev-143fe22f50a8be855bba77b5b2dc9dd1a5982b1c.zip op-kernel-dev-143fe22f50a8be855bba77b5b2dc9dd1a5982b1c.tar.gz |
tipc: fix inconsistent signal handling regression
Commit 9bbb4ecc6819 ("tipc: standardize recvmsg routine") changed
the sleep/wakeup behaviour for sockets entering recv() or accept().
In this process the order of reporting -EAGAIN/-EINTR was reversed.
This caused problems with wrong errno being reported back if the
timeout expires. The same problem happens if the socket is
nonblocking and recv()/accept() is called when the process have
pending signals. If there is no pending data read or connections to
accept, -EINTR will be returned instead of -EAGAIN.
Signed-off-by: Erik Hugne <erik.hugne@ericsson.com>
Reviewed-by: Ying Xue <ying.xue@windriver.com>
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
Reported-by László Benedek <laszlo.benedek@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/addr.c')
0 files changed, 0 insertions, 0 deletions