5 @page Two_Objects Test README File
7 This is used as an extended test for bug fix #575.
8 There are two objects managed by the same POA. Before the
9 bug fix, the calls to the objects on the same connection
10 were serialized even when the first call was a one way call.
11 The connection handle in the reactor was not 'resumed' until
12 the upcall after was completed. The fix resumes the handle
13 before the upcall is made, so that another thread could listen
14 for subsequent requests on the same connection handle.
19 The server creates two servants (each implementing different
20 interfaces ). Two threads are created on the server and each
21 one of them listens for requests (has a orb->run() call). The
22 client first makes a one way call to Servant 1. It then makes
23 a two way call to Servant 2. Servant 1 handles the oneway
24 request and waits for a signal from Servant 2. Servant 2 gets
25 the two way request, handles it and then wakes up Servant 1.
26 We do an assertion that there is only one connection in the
27 transport cache manager. If the bug fix was not working,
28 Servant 2 would have never received the request and Servant 1
31 To run the test use the run_test.pl script:
35 the script returns 0 if the test was successful.
39 ior file = test.ior #threads = 2 msglen = 100000 ORB timeout = 30 sec
40 Client : one way call done
41 Oneway servant : (<pid>|<tid>) one way method called. About to wait for
42 two way call completion
43 Twoway servant : (<pid>|<tid>) two way method called.
44 Twoway servant : (<pid>|<tid>) about to signal one way thread.
45 Oneway servant : (<pid>|<tid>) woke up after wait
46 Client : length of returned data is 100000
47 (<pid>|<tid>) event loop finished
49 <pid>, <tid> will have actual values for process id and thread id.