diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/IceGrid/AdminI.cpp | 4 | ||||
-rw-r--r-- | cpp/src/IceGrid/Parser.cpp | 19 |
2 files changed, 21 insertions, 2 deletions
diff --git a/cpp/src/IceGrid/AdminI.cpp b/cpp/src/IceGrid/AdminI.cpp index 9642b35747e..a7587c43b04 100644 --- a/cpp/src/IceGrid/AdminI.cpp +++ b/cpp/src/IceGrid/AdminI.cpp @@ -781,6 +781,10 @@ AdminI::getNodeProcessorSocketCount(const string& name, const Current&) const { return _database->getNode(name)->getProxy()->getProcessorSocketCount(); } + catch(const Ice::OperationNotExistException&) + { + return 0; // Not supported. + } catch(const Ice::ObjectNotExistException&) { throw NodeNotExistException(name); diff --git a/cpp/src/IceGrid/Parser.cpp b/cpp/src/IceGrid/Parser.cpp index 1fa2f0c8c51..22c2503d572 100644 --- a/cpp/src/IceGrid/Parser.cpp +++ b/cpp/src/IceGrid/Parser.cpp @@ -836,7 +836,14 @@ Parser::printNodeProcessors(const list<string>& args) { if(args.size() == 1) { - cout << _admin->getNodeProcessorSocketCount(args.front()) << endl; + try + { + cout << _admin->getNodeProcessorSocketCount(args.front()) << endl; + } + catch(const Ice::OperationNotExistException&) + { + cout << "not supported" << endl; + } } else { @@ -848,7 +855,15 @@ Parser::printNodeProcessors(const list<string>& args) { NodeInfo info = _admin->getNodeInfo(*p); processorSocketCounts[info.hostname].first.push_back(*p); - processorSocketCounts[info.hostname].second = _admin->getNodeProcessorSocketCount(*p); + try + { + processorSocketCounts[info.hostname].second = _admin->getNodeProcessorSocketCount(*p); + } + catch(const Ice::OperationNotExistException&) + { + // Not supported. + processorSocketCounts[info.hostname].second = 0; + } } catch(const NodeNotExistException&) { |