From 0ef3e1305db3f77bb0b0702c9b45bb39d165f28a Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Fri, 10 Nov 2023 15:31:23 -0500 Subject: Force Nonstop to use fcntl(F_GETFL) in BIO_sock_nbio 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 Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/22696) (cherry picked from commit f63e1b48ac893dd6110452e70ed08f191547cd89) --- crypto/bio/bio_sock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/bio/bio_sock.c b/crypto/bio/bio_sock.c index 7aa7bdc65e..9f2ae73063 100644 --- a/crypto/bio/bio_sock.c +++ b/crypto/bio/bio_sock.c @@ -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); -- cgit v1.2.3