summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipmid-new.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/ipmid-new.cpp b/ipmid-new.cpp
index 03b6b8a..3612884 100644
--- a/ipmid-new.cpp
+++ b/ipmid-new.cpp
@@ -861,12 +861,14 @@ int main(int argc, char* argv[])
ipmi::nameChangeHandler);
ipmi::doListNames(*io, *sdbusp);
+ int exitCode = 0;
// set up boost::asio signal handling
std::function<SignalResponse(int)> stopAsioRunLoop =
- [&io](int signalNumber) {
+ [&io, &exitCode](int signalNumber) {
log<level::INFO>("Received signal; quitting",
entry("SIGNAL=%d", signalNumber));
io->stop();
+ exitCode = signalNumber;
return SignalResponse::breakExecution;
};
registerSignalHandler(ipmi::prioOpenBmcBase, SIGINT, stopAsioRunLoop);
@@ -882,5 +884,5 @@ int main(int argc, char* argv[])
// unload the provider libraries
providers.clear();
- return 0;
+ std::exit(exitCode);
}
OpenPOWER on IntegriCloud