summaryrefslogtreecommitdiff
path: root/TAO/tests
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2001-12-30 16:34:04 +0000
committerbala <balanatarajan@users.noreply.github.com>2001-12-30 16:34:04 +0000
commit5fc39e380353e7ce2acfed838713d9567ff487ef (patch)
tree4fa1e35105769c51b68e46b0efe9623d138a9c85 /TAO/tests
parentc6c1b599d03cf5b0a267982a3aba9ff940823be6 (diff)
downloadATCD-5fc39e380353e7ce2acfed838713d9567ff487ef.tar.gz
ChangeLogTag: Sun Dec 30 10:31:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
Diffstat (limited to 'TAO/tests')
-rw-r--r--TAO/tests/BiDirectional/README23
-rw-r--r--TAO/tests/BiDirectional/server.cpp5
-rw-r--r--TAO/tests/BiDirectional_NestedUpcall/README8
3 files changed, 8 insertions, 28 deletions
diff --git a/TAO/tests/BiDirectional/README b/TAO/tests/BiDirectional/README
index 74deb74a8aa..ea17bd32f25 100644
--- a/TAO/tests/BiDirectional/README
+++ b/TAO/tests/BiDirectional/README
@@ -13,28 +13,7 @@ ready for callback. The server then callsback the client on the same
connection <no_iterations> times. If the server creates a new
connection the server would crash itself.
-Notes and Observations:
-----------------------
-It has been observed that when the server tries to call the client
-during the upcall on the same connection, there is a deadlock. To make
-things clearer, the scenario can be picturised as follows
-
-- the server receives a request from the client
-- in the upcall the server makes a remote call to the client
- (callback)
-- the server received BiDirectional context info from the client (and
- the server has the ability to call the client on the same
- connection)
-- then the call from the server to the client would be on the same
- connection established by the client.
-
-This situation would result in a deadlock. The deadlock would occur at
-the server end as the server does not read the reply from the
-client. This situation occurs because of the way the TP reactor (the
-default in TAO) works. The reactor suspends the handler during the
-upcall and so it is not in a position to react to the messages
-appearing on the handle. We are trying to look at ways to get around
-this situation.
+
diff --git a/TAO/tests/BiDirectional/server.cpp b/TAO/tests/BiDirectional/server.cpp
index 9ad9a5032b4..fd5c272ead5 100644
--- a/TAO/tests/BiDirectional/server.cpp
+++ b/TAO/tests/BiDirectional/server.cpp
@@ -139,7 +139,8 @@ main (int argc, char *argv[])
int retval = 0;
while (retval == 0)
{
- // Please see the README file on why this is being done
+ // Just process one upcall. We know that we would get the
+ // clients IOR in that call.
CORBA::Boolean pending =
orb->work_pending(TAO_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -150,6 +151,8 @@ main (int argc, char *argv[])
ACE_TRY_CHECK;
}
+ // Now that hopefully we have the clients IOR, just start
+ // making remote calls to the client.
retval = server_impl.call_client (TAO_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
}
diff --git a/TAO/tests/BiDirectional_NestedUpcall/README b/TAO/tests/BiDirectional_NestedUpcall/README
index 015f7693d5a..c40ad7424fd 100644
--- a/TAO/tests/BiDirectional_NestedUpcall/README
+++ b/TAO/tests/BiDirectional_NestedUpcall/README
@@ -1,9 +1,7 @@
# $Id$
This test is similar to the $TAO_ROOT/tests/BiDirectional test. The
-only difference is that, this test uses the select_mt reactor, which
-helps the server to make calls to client during the upcall. Please
-see the README file in $TAO_ROOT/tests/BiDirectional to see why this
-would fail with a TP reactor. Also see bug id #575 in bugzilla to
-understand more about the TP reactors behavior.
+only difference being that the server as a part of the upcall sends a
+bunch of remote calls, to show some nested upcall behaviour.
+