< prev index next >
src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c
Print this page
rev 50258 : [mq]: 8203369-Check-for-both-EAGAIN-and-EWOULDBLOCK-error-codes
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -437,11 +437,11 @@
msg->msg_controllen = sizeof(cbuf);
msg->msg_flags = 0;
do {
if ((rv = recvmsg(fd, msg, flags)) < 0) {
- if (errno == EWOULDBLOCK) {
+ if (errno == EAGAIN || errno == EWOULDBLOCK) {
return IOS_UNAVAILABLE;
} else if (errno == EINTR) {
return IOS_INTERRUPTED;
#ifdef __linux__
@@ -580,11 +580,11 @@
cdata->unordered = unordered;
cdata->ppid = ppid;
setControlData(msg, cdata);
if ((rv = sendmsg(fd, msg, 0)) < 0) {
- if (errno == EWOULDBLOCK) {
+ if (errno == EAGAIN || errno == EWOULDBLOCK) {
return IOS_UNAVAILABLE;
} else if (errno == EINTR) {
return IOS_INTERRUPTED;
} else if (errno == EPIPE) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
< prev index next >