diff options
Diffstat (limited to 'TAO/tests/Bug_3000_Regression/README')
-rw-r--r-- | TAO/tests/Bug_3000_Regression/README | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/TAO/tests/Bug_3000_Regression/README b/TAO/tests/Bug_3000_Regression/README new file mode 100644 index 00000000000..9a6ff172ded --- /dev/null +++ b/TAO/tests/Bug_3000_Regression/README @@ -0,0 +1,23 @@ +/** + +@page Callback_oneway_rw Test README File + + This test is a modification of the Callback test. + + When using the RW wait startegy, the Transport_Cache_Manager::find_transport() + temporarily removes the selected handler from the reactor read list. This + is supposed to be undone in the wait strategy TAO_Wait_On_Read::wait(). + However since in one-way invocations, the wait isn't done the handle gets lost. + + This is demonstrated in this test (a modification of the $TAO_ROOT/tests/CallbackTest). + A server using RW wait makes a oneway callback to the client(). The client starts + upon a fixed endpoint. Since the server handle wasn't put back into the reactor + read list, the client connection closure goes undetected. When a second client comes + online, the server reuses the half-closed connection to send the one-way callback. This + deadlocks. + + - run_test.pl // Tests the default wait startegy (LF). + + - run_test.pl default // Tests using the RW wait startegy. + +*/ |