]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
internal/sockets.h: Add support for testing EINTR portably
authorHugo Landau <hlandau@openssl.org>
Thu, 17 Nov 2022 15:30:57 +0000 (15:30 +0000)
committerHugo Landau <hlandau@openssl.org>
Fri, 13 Jan 2023 13:20:15 +0000 (13:20 +0000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19703)

include/internal/sockets.h

index f5d5cbc2e55efe2baef004d30d331386df26c2f4..f409d4bb504a6e7e754c77c03cde27aac3f8bec9 100644 (file)
@@ -159,12 +159,15 @@ struct servent *PASCAL getservbyname(const char *, const char *);
 
 # define get_last_socket_error() errno
 # define clear_socket_error()    errno=0
+# define get_last_socket_error_is_eintr() (get_last_socket_error() == EINTR)
 
 # if defined(OPENSSL_SYS_WINDOWS)
 #  undef get_last_socket_error
 #  undef clear_socket_error
+#  undef get_last_socket_error_is_eintr
 #  define get_last_socket_error() WSAGetLastError()
 #  define clear_socket_error()    WSASetLastError(0)
+#  define get_last_socket_error_is_eintr() (get_last_socket_error() == WSAEINTR)
 #  define readsocket(s,b,n)       recv((s),(b),(n),0)
 #  define writesocket(s,b,n)      send((s),(b),(n),0)
 # elif defined(__DJGPP__)