]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Force Nonstop to use fcntl(F_GETFL) in BIO_sock_nbio
authorNeil Horman <nhorman@openssl.org>
Fri, 10 Nov 2023 20:31:23 +0000 (15:31 -0500)
committerTomas Mraz <tomas@openssl.org>
Tue, 14 Nov 2023 06:43:33 +0000 (07:43 +0100)
In tracking down a hang, we found that nonstop platforms were falling
into the if #ifdef FIONBIO clause in the implementation of
BIO_sock_nbio.  While the platform defines this macro, sockets set with
this continued to operate in blocking mode.  Given that the platform
also support O_NONBLOCK, adjust the ifdef to have the nonstop platform
use that method to ensure that sockets enter blocking mode

Related-To #22588

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22696)

crypto/bio/bio_sock.c

index 7aa7bdc65ee90d579655a6c9fa9c6e20994b1806..9f2ae7306369d71cb8df4a4cc7a8dd9e90953165 100644 (file)
@@ -354,7 +354,7 @@ int BIO_socket_nbio(int s, int mode)
     int l;
 
     l = mode;
-# ifdef FIONBIO
+# if defined(FIONBIO) && !defined(OPENSSL_SYS_TANDEM)
     l = mode;
 
     ret = BIO_socket_ioctl(s, FIONBIO, &l);