summaryrefslogtreecommitdiff
path: root/ace/config-win32-common.h
diff options
context:
space:
mode:
authormichel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-04-05 17:28:54 +0000
committermichel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-04-05 17:28:54 +0000
commit50730523b34cd3732943e8acc30fdddb6c0ebfcb (patch)
tree17af726d7ab32c193f1063114de9dd42a4be042b /ace/config-win32-common.h
parent37cee1bf3de510a1f5d58640bfb72bb3f1580566 (diff)
downloadATCD-50730523b34cd3732943e8acc30fdddb6c0ebfcb.tar.gz
Fri Apr 5 11:30:00 2002 Justin Michel <michel_j@ociweb.com>
Diffstat (limited to 'ace/config-win32-common.h')
-rw-r--r--ace/config-win32-common.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/ace/config-win32-common.h b/ace/config-win32-common.h
index d3d58dd84cd..43538022c9a 100644
--- a/ace/config-win32-common.h
+++ b/ace/config-win32-common.h
@@ -151,10 +151,10 @@
// out, error). Here we raise the limit to 1024. Adjust the definition
// below if you need to raise or lower it.
-#if defined (FD_SETSIZE)
-#undef FD_SETSIZE
-#endif /* FD_SETSIZE */
+#if !defined (FD_SETSIZE)
#define FD_SETSIZE 1024
+#endif /* FD_SETSIZE */
+
// Windows doesn't like 65536 ;-) If 65536 is specified, it is
// listenly ignored by the OS, i.e., setsockopt does not fail, and you
@@ -494,5 +494,14 @@ typedef unsigned long long ACE_UINT64;
#define ACE_LACKS_STRUCT_DIR
#define ACE_LACKS_MKSTEMP
+// If we are using winsock2 then the SO_REUSEADDR feature is broken
+// SO_REUSEADDR=1 behaves like SO_REUSEPORT=1. (SO_REUSEPORT is an
+// extension to sockets on some platforms)
+// We define SO_REUSEPORT here so that ACE_OS::setsockopt() can still
+// allow the user to specify that a socketaddr can *always* be reused.
+#if defined (ACE_HAS_WINSOCK2) && ACE_HAS_WINSOCK2 != 0 && ! defined(SO_REUSEPORT)
+#define SO_REUSEPORT 0x0400 // We just have to pick a value that won't conflict
+#endif
+
#include "ace/post.h"
#endif /* ACE_CONFIG_WIN32_COMMON_H */