Skip to content

Commit ab7a5c4

Browse files
committedJun 24, 2016
Also shut down when SIGTERM was received
Fixes #4251
1 parent 9997e20 commit ab7a5c4

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed
 

‎src/porting.cpp

+11-5
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,16 @@ bool * signal_handler_killstatus(void)
7575
#if !defined(_WIN32) // POSIX
7676
#include <signal.h>
7777

78-
void sigint_handler(int sig)
78+
void signal_handler(int sig)
7979
{
8080
if (!g_killed) {
81-
dstream << "INFO: sigint_handler(): "
82-
<< "Ctrl-C pressed, shutting down." << std::endl;
81+
if (sig == SIGINT) {
82+
dstream << "INFO: signal_handler(): "
83+
<< "Ctrl-C pressed, shutting down." << std::endl;
84+
} else if (sig == SIGTERM) {
85+
dstream << "INFO: signal_handler(): "
86+
<< "got SIGTERM, shutting down." << std::endl;
87+
}
8388

8489
// Comment out for less clutter when testing scripts
8590
/*dstream << "INFO: sigint_handler(): "
@@ -88,13 +93,14 @@ void sigint_handler(int sig)
8893

8994
g_killed = true;
9095
} else {
91-
(void)signal(SIGINT, SIG_DFL);
96+
(void)signal(sig, SIG_DFL);
9297
}
9398
}
9499

95100
void signal_handler_init(void)
96101
{
97-
(void)signal(SIGINT, sigint_handler);
102+
(void)signal(SIGINT, signal_handler);
103+
(void)signal(SIGTERM, signal_handler);
98104
}
99105

100106
#else // _WIN32

0 commit comments

Comments
 (0)
Please sign in to comment.