aboutsummaryrefslogtreecommitdiff
path: root/src/server/authserver/Main.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-07-23 19:04:07 +0200
committerShauren <shauren.trinity@gmail.com>2014-07-23 19:04:07 +0200
commit42eeec12bfdf548b15a2f85d586ef037eab88a00 (patch)
tree45e1d6253fe54c661e229edc404b605c45ea19b9 /src/server/authserver/Main.cpp
parenta7476a7898e435a78201d53605b0cfedb4573a78 (diff)
Core/Mains: Handle SIGBREAK to achieve clean shutdown when users click X button on windows
Diffstat (limited to 'src/server/authserver/Main.cpp')
-rw-r--r--src/server/authserver/Main.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/server/authserver/Main.cpp b/src/server/authserver/Main.cpp
index 8b9779d2b07..7c2ed4951c5 100644
--- a/src/server/authserver/Main.cpp
+++ b/src/server/authserver/Main.cpp
@@ -120,6 +120,9 @@ int main(int argc, char** argv)
// Set signal handlers
boost::asio::signal_set signals(_ioService, SIGINT, SIGTERM);
+#if PLATFORM == PLATFORM_WINDOWS
+ signals.add(SIGBREAK);
+#endif
signals.async_wait(SignalHandler);
// Set process priority according to configuration settings
@@ -186,18 +189,10 @@ void StopDB()
MySQL::Library_End();
}
-void SignalHandler(const boost::system::error_code& error, int signalNumber)
+void SignalHandler(const boost::system::error_code& error, int /*signalNumber*/)
{
if (!error)
- {
- switch (signalNumber)
- {
- case SIGINT:
- case SIGTERM:
- _ioService.stop();
- break;
- }
- }
+ _ioService.stop();
}
void KeepDatabaseAliveHandler(const boost::system::error_code& error)