fix PR#2261 in a different way
[openssl.git] / crypto / bio / b_sock.c
index 5ea621c0cf865c8202b5313ede04459fe9c8c44c..12b0a53a81c4fe066f6304b24fa32c94764f52d4 100644 (file)
@@ -731,7 +731,14 @@ again:
 #ifdef SO_REUSEADDR
                err_num=get_last_socket_error();
                if ((bind_mode == BIO_BIND_REUSEADDR_IF_UNUSED) &&
+#ifdef OPENSSL_SYS_WINDOWS
+                       /* Some versions of Windows define EADDRINUSE to
+                        * a dummy value.
+                        */
+                       (err_num == WSAEADDRINUSE))
+#else
                        (err_num == EADDRINUSE))
+#endif
                        {
                        client = server;
                        if (h == NULL || strcmp(h,"*") == 0)