summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-05-26 03:12:13 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-05-26 03:12:13 +0000
commit1cc24b534778ecf0e8621f5c830bb0b9f5e3fc3a (patch)
treef7440af82b58673676753531675128f5ab46aac8
parent5dd94d7d91e71ac070a0607ac2e4f336b9288035 (diff)
downloadATCD-1cc24b534778ecf0e8621f5c830bb0b9f5e3fc3a.tar.gz
ChangeLogTag: Thu May 25 22:00:04 2000 Irfan Pyarali <irfan@cs.wustl.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a22
-rw-r--r--TAO/tao/IIOP_Connect.cpp8
-rw-r--r--TAO/tao/SHMIOP_Connect.cpp8
-rw-r--r--TAO/tao/UIOP_Connect.cpp13
4 files changed, 47 insertions, 4 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 8dbd16c8185..099d88e503d 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,11 +1,19 @@
-Thu May 25 21:41:30 2000 Pradeep Gore <pradeep@flamenco.cs.wustl.edu>
+Thu May 25 22:00:04 2000 Irfan Pyarali <irfan@cs.wustl.edu>
- * orbsvcs/examples/Notify/Subscribe/Subscribe.cpp:
- Fixed "A new-line character appears inside a string literal" error.
+ * tao/SHMIOP_Connect.cpp (svc):
+ * tao/IIOP_Connect.cpp (svc):
+ * tao/UIOP_Connect.cpp (svc):
+
+ Reset errno to make sure we don't trip over an old value of
+ errno in case it is not reset when the recv() call fails if the
+ socket has been closed. Thanks to Tommy Andreasen
+ <tommy.andreasen@radiometer.dk> for reporting this bug and
+ providing a solution.
Thu May 25 21:41:30 2000 Pradeep Gore <pradeep@flamenco.cs.wustl.edu>
- *
+ * orbsvcs/examples/Notify/Subscribe/Subscribe.cpp:
+ Fixed "A new-line character appears inside a string literal" error.
Thu May 25 19:35:30 2000 Jeff Parsons <parsons@cs.wustl.edu>
@@ -499,9 +507,15 @@ Mon May 15 22:05:49 2000 Vishal Kachroo <vishal@cs.wustl.edu>
<matthew@ooc.com> for pointing out the error.
Mon May 15 20:03:11 2000 Pradeep Gore <pradeep@cumbia.cs.wustl.edu>
+
* orbsvcs/orbsvcs/Notify/Notify_Filter_i.h:
Put in the fix for "inheritance via dominance error"
+Mon May 15 18:19:53 2000 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * tests/Leader_Followers/client.cpp (class Client_Task): Added a
+ small pause to avoid overrunning the server.
+
Mon May 15 15:40:46 2000 Ossama Othman <ossama@uci.edu>
* tao/IIOP_Connect.cpp (open):
diff --git a/TAO/tao/IIOP_Connect.cpp b/TAO/tao/IIOP_Connect.cpp
index dc9427abd4c..87c4dc79625 100644
--- a/TAO/tao/IIOP_Connect.cpp
+++ b/TAO/tao/IIOP_Connect.cpp
@@ -252,13 +252,21 @@ TAO_IIOP_Server_Connection_Handler::svc (void)
&& result >= 0)
{
result = handle_input_i (ACE_INVALID_HANDLE, max_wait_time);
+
if (result == -1 && errno == ETIME)
{
// Ignore timeouts, they are only used to wake up and
// shutdown.
result = 0;
+
+ // Reset errno to make sure we don't trip over an old value
+ // of errno in case it is not reset when the recv() call
+ // fails if the socket has been closed.
+ errno = 0;
}
+
current_timeout = timeout;
+
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) IIOP_Server_Connection_Handler::svc - ")
diff --git a/TAO/tao/SHMIOP_Connect.cpp b/TAO/tao/SHMIOP_Connect.cpp
index 4ab225888d5..32b92d452c1 100644
--- a/TAO/tao/SHMIOP_Connect.cpp
+++ b/TAO/tao/SHMIOP_Connect.cpp
@@ -256,13 +256,21 @@ TAO_SHMIOP_Server_Connection_Handler::svc (void)
&& result >= 0)
{
result = handle_input_i (ACE_INVALID_HANDLE, max_wait_time);
+
if (result == -1 && errno == ETIME)
{
// Ignore timeouts, they are only used to wake up and
// shutdown.
result = 0;
+
+ // Reset errno to make sure we don't trip over an old value
+ // of errno in case it is not reset when the recv() call
+ // fails if the socket has been closed.
+ errno = 0;
}
+
current_timeout = timeout;
+
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) SHMIOP_Server_Connection_Handler::svc - ")
diff --git a/TAO/tao/UIOP_Connect.cpp b/TAO/tao/UIOP_Connect.cpp
index e42084fb1a8..1b92cb113a7 100644
--- a/TAO/tao/UIOP_Connect.cpp
+++ b/TAO/tao/UIOP_Connect.cpp
@@ -241,12 +241,25 @@ TAO_UIOP_Server_Connection_Handler::svc (void)
&& result >= 0)
{
result = handle_input_i (ACE_INVALID_HANDLE, max_wait_time);
+
if (result == -1 && errno == ETIME)
{
// Ignore timeouts, they are only used to wake up and
// shutdown.
result = 0;
+
+ // Reset errno to make sure we don't trip over an old value
+ // of errno in case it is not reset when the recv() call
+ // fails if the socket has been closed.
+ errno = 0;
}
+
+ current_timeout = timeout;
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TAO (%P|%t) UIOP_Server_Connection_Handler::svc - ")
+ ACE_TEXT ("loop <%d>\n"), current_timeout.msec ()));
}
if (TAO_orbdebug)