diff options
Diffstat (limited to 'ipmid-new.cpp')
-rw-r--r-- | ipmid-new.cpp | 6 |
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); } |