summaryrefslogtreecommitdiff
path: root/ace/TLI_Connector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/TLI_Connector.cpp')
-rw-r--r--ace/TLI_Connector.cpp56
1 files changed, 14 insertions, 42 deletions
diff --git a/ace/TLI_Connector.cpp b/ace/TLI_Connector.cpp
index 12323b0fe1d..289396fda21 100644
--- a/ace/TLI_Connector.cpp
+++ b/ace/TLI_Connector.cpp
@@ -56,44 +56,27 @@ ACE_TLI_Connector::connect (ACE_TLI_Stream &new_stream,
struct t_bind *localaddr;
localaddr = (struct t_bind *)
- ACE_OS::t_alloc (new_stream.get_handle (), T_BIND, T_ADDR);
+ ::t_alloc (new_stream.get_handle (), T_BIND, T_ADDR);
if (localaddr == 0)
result = -1;
else
{
int one = 1;
-#if !defined (ACE_HAS_FORE_ATM_XTI)
- // Reusing the address causes problems with FORE's API. The
- // issue may be that t_optmgmt isn't fully supported by
- // FORE. t_errno is TBADOPT after the t_optmgmt call so
- // maybe options are configured differently for XTI than for
- // TLI (at least for FORE's implementation - XTI is supposed
- // to be a superset of TLI).
- if (reuse_addr
- && new_stream.set_option (SOL_SOCKET,
- SO_REUSEADDR,
- &one,
- sizeof one) == -1)
+ if (reuse_addr && new_stream.set_option (SOL_SOCKET, SO_REUSEADDR,
+ &one, sizeof one) == -1)
result = -1;
else
-#endif /* ACE_HAS_FORE_ATM_XTI */
{
// localaddr->glen = 0;
- //localaddr->addr.maxlen = local_sap.get_size ();
+ localaddr->addr.maxlen = local_sap.get_size ();
localaddr->addr.len = local_sap.get_size ();
- ACE_OS::memcpy(localaddr->addr.buf,
- local_sap.get_addr (),
- localaddr->addr.len);
- //localaddr->addr.buf = (char *) local_sap.get_addr ();
-
- if (ACE_OS::t_bind (new_stream.get_handle (),
- localaddr,
- localaddr) == -1)
+ localaddr->addr.buf = (char *) local_sap.get_addr ();
+
+ if (ACE_OS::t_bind (new_stream.get_handle (), localaddr, localaddr) == -1)
result = -1;
- ACE_OS::t_free ((char *) localaddr,
- T_BIND);
+ ACE_OS::t_free ((char *) localaddr, T_BIND);
}
}
@@ -117,12 +100,9 @@ ACE_TLI_Connector::connect (ACE_TLI_Stream &new_stream,
new_stream.close ();
return -1;
}
- //callptr->addr.maxlen = remote_sap.get_size ();
+ callptr->addr.maxlen = remote_sap.get_size ();
callptr->addr.len = remote_sap.get_size ();
- ACE_OS::memcpy(callptr->addr.buf,
- remote_sap.get_addr (),
- callptr->addr.len);
- //callptr->addr.buf = (char *) remote_sap.get_addr ();
+ callptr->addr.buf = (char *) remote_sap.get_addr ();
if (udata != 0)
ACE_OS::memcpy ((void *) &callptr->udata, (void *) udata, sizeof *udata);
@@ -130,11 +110,6 @@ ACE_TLI_Connector::connect (ACE_TLI_Stream &new_stream,
ACE_OS::memcpy ((void *) &callptr->opt, (void *) opt, sizeof *opt);
// Connect to remote endpoint.
-#if defined (ACE_HAS_FORE_ATM_XTI)
- // FORE's XTI/ATM driver has problems with ioctl/fcntl calls so (at least
- // for now) always have blocking calls.
- timeout = 0;
-#endif /* ACE_HAS_FORE_ATM_XTI */
if (timeout != 0) // Enable non-blocking, if required.
{
@@ -166,11 +141,9 @@ ACE_TLI_Connector::connect (ACE_TLI_Stream &new_stream,
if (result != -1)
{
new_stream.set_rwflag (rwf);
-#if defined (I_PUSH) && !defined (ACE_HAS_FORE_ATM_XTI)
+#if defined (I_PUSH)
if (new_stream.get_rwflag ())
- result = ACE_OS::ioctl (new_stream.get_handle (),
- I_PUSH,
- ACE_const_cast (char *, "tirdwr"));
+ result = ACE_OS::ioctl (new_stream.get_handle (), I_PUSH, "tirdwr");
#endif /* I_PUSH */
}
else if (!(errno == EWOULDBLOCK || errno == ETIME))
@@ -193,9 +166,8 @@ ACE_TLI_Connector::complete (ACE_TLI_Stream &new_stream,
ACE_Time_Value *tv)
{
ACE_TRACE ("ACE_TLI_Connector::complete");
- ACE_HANDLE h = ACE::handle_timed_complete (new_stream.get_handle (),
- tv,
- 1);
+ ACE_HANDLE h = ACE::handle_timed_complete (new_stream.get_handle (), tv, 1);
+
if (h == ACE_INVALID_HANDLE)
{
new_stream.close ();