summaryrefslogtreecommitdiff
path: root/TAO/DevGuideExamples/Multithreading/GracefulShutdown/README
blob: 53dc6a5f6f0c27fc01d1298cefb38dc095b2e20a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
$Id$

File: DevGuideExamples/Multithreading/GracefulShutdown/README

This directory contains a CORBA example illustrating a simple client
and a server with an interface Messenger.  This example extends the
Getting Started example to show various techniques for gracefully
shutting down a TAO server.


How to Run
----------

To start the server :
------------------
./MessengerServer [options]

where [options] can be one of the following:

  -x     - (default) shutdown the ORB when the client invokes the
           Messenger::shutdown() operation

  -p <n> - use non-blocking ORB operations in a polling loop to shutdown
           after <n> iterations

  -t <n> - schedule a timer with the ORB's reactor to shutdown in
           <n> seconds

  -r <n> - use the overloaded version of CORBA::ORB::run() that takes
           an ACE_Time_Value parameter indicating how long run()
           should process events before returning, where <n> is the
           number of seconds the ORB will run.

  -c     - spawn a separate thread to shutdown the ORB on any
           input from the console (terminal)



To start the client:
------------------
./MessengerClient [-x]

where -x indicates the client will invoke Messenger::shutdown()
on the server to shut it down.



Exeuction via Perl Script
-------------------------

A Perl script has been created to automate the steps shown
above.  This script can be run via the following command:

./run_test.pl


NOTE:

   If you run on Windows platform, go to Debug or Release directory to run the
   script via following command:

   perl ../run_test.pl