Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8203369

Check for both EAGAIN and EWOULDBLOCK error codes

XMLWordPrintable

    • b16
    • linux, os_x, solaris, aix
    • Not verified

        Several system calls (including the following: pread, read, readv, recvfrom, recvmsg, send, sendfile, sendmsg, sendto) may set errno to either EAGAIN or EWOULDBLOCK on the same condition.
        On Linux these two constants are the same, but they are not required to be the same.

        Here's an extract from the Linux man page for the function mentioned above:
        EAGAIN or EWOULDBLOCK
        The socket is marked nonblocking and the requested operation would block. POSIX.1-2001 allows either error to be returned for this case, and does not require these constants to have the same value, so a portable application should check for both possibilities.

        We should check for both error codes when appropriate.

              igerasim Ivan Gerasimov
              shadowbug Shadow Bug
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: