summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ACE/ChangeLog8
-rw-r--r--ACE/ace/OS_NS_sys_socket.inl22
2 files changed, 8 insertions, 22 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index 8c3e076a6f1..223dcc490bc 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,3 +1,11 @@
+Mon Oct 27 07:57:57 UTC 2014 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_socket.inl:
+ Removed the ignore of SO_REUSEADDR on windows, this is needed
+ for ACE_SOCK_Dgram_Bcast to work, see bugzilla 4189. Also removed
+ the Windows specific change of SO_REUSEPORT to SO_REUSEADDR, this
+ are different flags that we should not merge at this level.
+
Fri Oct 24 18:41:42 UTC 2014 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Bug_4189_Regression_Test.cpp:
diff --git a/ACE/ace/OS_NS_sys_socket.inl b/ACE/ace/OS_NS_sys_socket.inl
index 75a6a5c1281..0465aa38792 100644
--- a/ACE/ace/OS_NS_sys_socket.inl
+++ b/ACE/ace/OS_NS_sys_socket.inl
@@ -1,5 +1,4 @@
// -*- C++ -*-
-//
// $Id$
#include "ace/OS_NS_errno.h"
@@ -870,27 +869,6 @@ ACE_OS::setsockopt (ACE_HANDLE handle,
ACE_UNUSED_ARG (optlen);
ACE_NOTSUP_RETURN (-1);
#else
-#if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && defined(SO_REUSEPORT)
- // To work around an inconsistency with Microsofts implementation of
- // sockets, we will check for SO_REUSEADDR, and ignore it. Winsock
- // always behaves as if SO_REUSEADDR=1. Some implementations have
- // the same behaviour as Winsock, but use a new name for
- // it. SO_REUSEPORT. If you want the normal behaviour for
- // SO_REUSEADDR=0, then NT 4 sp4 and later supports
- // SO_EXCLUSIVEADDRUSE. This also requires using an updated Platform
- // SDK so it was decided to ignore the option for now. (Especially
- // since Windows always sets SO_REUSEADDR=1, which we can mimic by doing
- // nothing.)
- if (level == SOL_SOCKET) {
- if (optname == SO_REUSEADDR) {
- return 0; // Not supported by Winsock
- }
- if (optname == SO_REUSEPORT) {
- optname = SO_REUSEADDR;
- }
- }
-#endif /*ACE_HAS_WINSOCK2*/
-
int result;
ACE_SOCKCALL (::setsockopt ((ACE_SOCKET) handle,
level,