@@ -66,9 +66,9 @@ static int hostname_from_uri(const char* uri,
6666 return 1 ;
6767}
6868
69- static void sigint_cb (struct ev_loop * loop ,
70- ev_signal __attribute__((__unused__ )) * w ,
71- int __attribute__((__unused__ )) revents ) {
69+ static void signal_shutdown_cb (struct ev_loop * loop ,
70+ ev_signal __attribute__((__unused__ )) * w ,
71+ int __attribute__((__unused__ )) revents ) {
7272 ILOG ("Shutting down gracefully. To force exit, send signal again." );
7373 ev_break (loop , EVBREAK_ALL );
7474}
@@ -268,9 +268,14 @@ int main(int argc, char *argv[]) {
268268
269269 ev_signal sigint ;
270270 // NOLINTNEXTLINE(clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling)
271- ev_signal_init (& sigint , sigint_cb , SIGINT );
271+ ev_signal_init (& sigint , signal_shutdown_cb , SIGINT );
272272 ev_signal_start (loop , & sigint );
273273
274+ ev_signal sigterm ;
275+ // NOLINTNEXTLINE(clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling)
276+ ev_signal_init (& sigterm , signal_shutdown_cb , SIGTERM );
277+ ev_signal_start (loop , & sigterm );
278+
274279 logging_flush_init (loop );
275280
276281 dns_poller_t dns_poller ;
@@ -298,6 +303,7 @@ int main(int argc, char *argv[]) {
298303 curl_slist_free_all (app .resolv );
299304
300305 logging_flush_cleanup (loop );
306+ ev_signal_stop (loop , & sigterm );
301307 ev_signal_stop (loop , & sigint );
302308 ev_signal_stop (loop , & sigpipe );
303309 dns_server_stop (& dns_server );
0 commit comments