Loading crypto/bio/b_sock.c +32 −0 Original line number Diff line number Diff line Loading @@ -379,8 +379,40 @@ int BIO_socket_nbio(int s, int mode) l = mode; # ifdef FIONBIO l = mode; ret = BIO_socket_ioctl(s, FIONBIO, &l); # elif defined(F_GETFL) && defined(F_SETFL) && (defined(O_NONBLOCK) || defined(FNDELAY)) /* make sure this call always pushes an error level; BIO_socket_ioctl() does so, so we do too. */ l = fcntl(s, F_GETFL, 0); if (l == -1) { SYSerr(SYS_F_FCNTL, get_last_rtl_error()); ret = -1; } else { # if defined(O_NONBLOCK) l &= ~O_NONBLOCK; # else l &= ~FNDELAY; /* BSD4.x */ # endif if (mode) { # if defined(O_NONBLOCK) l |= O_NONBLOCK; # else l |= FNDELAY; /* BSD4.x */ # endif } ret = fcntl(s, F_SETFL, l); if (ret < 0) { SYSerr(SYS_F_FCNTL, get_last_rtl_error()); } } # else /* make sure this call always pushes an error level; BIO_socket_ioctl() does so, so we do too. */ BIOerr(BIO_F_BIO_SOCKET_NBIO, ERR_R_PASSED_INVALID_ARGUMENT); # endif return (ret == 0); } Loading include/openssl/err.h +1 −0 Original line number Diff line number Diff line Loading @@ -310,6 +310,7 @@ typedef struct err_state_st { # define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL) # define ERR_R_DISABLED (5|ERR_R_FATAL) # define ERR_R_INIT_FAIL (6|ERR_R_FATAL) # define ERR_R_PASSED_INVALID_ARGUMENT (7) /* * 99 is the maximum possible ERR_R_... code, higher values are reserved for Loading Loading
crypto/bio/b_sock.c +32 −0 Original line number Diff line number Diff line Loading @@ -379,8 +379,40 @@ int BIO_socket_nbio(int s, int mode) l = mode; # ifdef FIONBIO l = mode; ret = BIO_socket_ioctl(s, FIONBIO, &l); # elif defined(F_GETFL) && defined(F_SETFL) && (defined(O_NONBLOCK) || defined(FNDELAY)) /* make sure this call always pushes an error level; BIO_socket_ioctl() does so, so we do too. */ l = fcntl(s, F_GETFL, 0); if (l == -1) { SYSerr(SYS_F_FCNTL, get_last_rtl_error()); ret = -1; } else { # if defined(O_NONBLOCK) l &= ~O_NONBLOCK; # else l &= ~FNDELAY; /* BSD4.x */ # endif if (mode) { # if defined(O_NONBLOCK) l |= O_NONBLOCK; # else l |= FNDELAY; /* BSD4.x */ # endif } ret = fcntl(s, F_SETFL, l); if (ret < 0) { SYSerr(SYS_F_FCNTL, get_last_rtl_error()); } } # else /* make sure this call always pushes an error level; BIO_socket_ioctl() does so, so we do too. */ BIOerr(BIO_F_BIO_SOCKET_NBIO, ERR_R_PASSED_INVALID_ARGUMENT); # endif return (ret == 0); } Loading
include/openssl/err.h +1 −0 Original line number Diff line number Diff line Loading @@ -310,6 +310,7 @@ typedef struct err_state_st { # define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL) # define ERR_R_DISABLED (5|ERR_R_FATAL) # define ERR_R_INIT_FAIL (6|ERR_R_FATAL) # define ERR_R_PASSED_INVALID_ARGUMENT (7) /* * 99 is the maximum possible ERR_R_... code, higher values are reserved for Loading