~ubuntu-branches/ubuntu/breezy/ace/breezy

« back to all changes in this revision

Viewing changes to TAO/tests/Two_Objects/README

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad, Benjamin Montgomery, Adam Conrad
  • Date: 2005-09-18 22:51:38 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 sarge) (0.1.2 woody)
  • Revision ID: james.westby@ubuntu.com-20050918225138-seav22q6fyylb536
Tags: 5.4.7-3ubuntu1
[ Benjamin Montgomery ]
* Added a patch for amd64 and powerpc that disables the compiler
  option -fvisibility-inlines-hidden

[ Adam Conrad ]
* Added DPATCH_OPTION_CPP=1 to debian/patches/00options to make
  Benjamin's above changes work correctly with dpatch.

Show diffs side-by-side

added added

removed removed

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