本文整理汇总了C++中SignalHandler::setup方法的典型用法代码示例。如果您正苦于以下问题:C++ SignalHandler::setup方法的具体用法?C++ SignalHandler::setup怎么用?C++ SignalHandler::setup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SignalHandler
的用法示例。
在下文中一共展示了SignalHandler::setup方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: run
int run(int argc, char* argv[]) {
function_footprint();
ApplicationSetting setting;
// default value
setting.clusterConfig = "conf/cluster.conf";
if(!parseArguments(argc, argv, &setting)) {
usage(argv[0]);
return 1;
}
LOG(INFO) << "Start server with configuration: " << setting.clusterConfig;
idgs::Application& app = * idgs_application();
ResultCode rc;
DVLOG(1) << "Loading configuration.";
rc = app.init(setting.clusterConfig);
if (rc != RC_SUCCESS) {
LOG(ERROR) << "Failed to initialize server: " << getErrorDescription(rc);
exit(1);
}
DVLOG(1) << "Server is starting.";
rc = app.start();
if (rc != RC_SUCCESS) {
LOG(ERROR) << "Failed to start server: " << getErrorDescription(rc);
exit(1);
}
DVLOG(1) << "";
SignalHandler sh;
sh.setup();
LOG(INFO) << "=============================================================";
LOG(INFO) << "Server is started, please press ctrl-c to exit.";
LOG(INFO) << "=============================================================";
// dead loop
while(app.isRunning()) {
sleep(1);
monitor(app);
}
DVLOG(1) << "Server is shutting down.";
rc = app.stop();
if (rc != RC_SUCCESS) {
LOG(ERROR) << "Failed to start server: " << getErrorDescription(rc);
exit(1);
}
return 0;
}