summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-04-08 22:40:51 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-04-08 22:40:51 +0000
commite165a0f907dd1336c40500abdcc9eda002589e7a (patch)
treef201e98e407817376a6daebd0393dd12bb1134e6
parente557910f60c441eb71e6ec0f5ba36b698ad1cda8 (diff)
downloadATCD-e165a0f907dd1336c40500abdcc9eda002589e7a.tar.gz
*** empty log message ***
-rw-r--r--ChangeLog-98a6
-rw-r--r--ace/SOCK_Acceptor.cpp16
2 files changed, 19 insertions, 3 deletions
diff --git a/ChangeLog-98a b/ChangeLog-98a
index cac0b650b18..0846aea59e9 100644
--- a/ChangeLog-98a
+++ b/ChangeLog-98a
@@ -1,3 +1,9 @@
+Wed Apr 08 17:29:01 1998 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/SOCK_Acceptor.cpp (open): There was a boo-boo in open() as
+ we were only calling bind_port() and ignoring the port supplied
+ by the user. Call bind_port only if port == 0.
+
Wed Apr 8 01:09:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Malloc_T: Added a new ACE_Static_Allocator class, which is
diff --git a/ace/SOCK_Acceptor.cpp b/ace/SOCK_Acceptor.cpp
index e32d1bd121d..677f5f9c255 100644
--- a/ace/SOCK_Acceptor.cpp
+++ b/ace/SOCK_Acceptor.cpp
@@ -90,9 +90,19 @@ ACE_SOCK_Acceptor::open (const ACE_Addr &local_sap,
else
local_inet_addr = *(sockaddr_in *) local_sap.get_addr ();
- if (ACE::bind_port (this->get_handle (),
- local_inet_addr.sin_addr.s_addr) == -1)
- error = 1;
+ if (local_inet_addr.sin_port == 0)
+ {
+ if (ACE::bind_port (this->get_handle (),
+ local_inet_addr.sin_addr.s_addr) == -1)
+ error = 1;
+ }
+ else
+ {
+ if (ACE_OS::bind (this->get_handle (),
+ (sockaddr *) &local_inet_addr,
+ sizeof local_inet_addr) == -1)
+ error = 1;
+ }
}
else if (ACE_OS::bind (this->get_handle (), (sockaddr *) local_sap.get_addr (),
local_sap.get_size ()) == -1)