summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/Parser.cpp')
-rw-r--r--cpp/src/IceGrid/Parser.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/Parser.cpp b/cpp/src/IceGrid/Parser.cpp
index 37354769302..bf6331999ff 100644
--- a/cpp/src/IceGrid/Parser.cpp
+++ b/cpp/src/IceGrid/Parser.cpp
@@ -89,6 +89,7 @@ Parser::usage()
"server pid ID Get server ID pid.\n"
"server start ID Start server ID.\n"
"server stop ID Stop server ID.\n"
+ "server patch ID Patch server ID.\n"
"server signal ID SIGNAL Send SIGNAL (e.g. SIGTERM or 15) to server ID.\n"
"server stdout ID MESSAGE Write MESSAGE on server ID's stdout.\n"
"server stderr ID MESSAGE Write MESSAGE on server ID's stderr.\n"
@@ -696,6 +697,27 @@ Parser::stopServer(const list<string>& args)
}
void
+Parser::patchServer(const list<string>& args)
+{
+ if(args.size() != 1)
+ {
+ error("`server patch' requires exactly one argument\n(`help' for more info)");
+ return;
+ }
+
+ try
+ {
+ _admin->patchServer(args.front());
+ }
+ catch(const Ice::Exception& ex)
+ {
+ ostringstream s;
+ s << ex;
+ error(s.str());
+ }
+}
+
+void
Parser::signalServer(const list<string>& args)
{
if(args.size() != 2)