blob: 9a6ff172ded3e50082e5dffc54627db96d796d79 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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.
*/
|