on xenial help sign in
Do not call |= on uninitialized sigterm.sa_flags
5815415Albert Astals Cid
tools/unix-signal-handler.cpp+3−5
@@ -77,8 +77,7 @@ int UnixSignalHandler::setupUnixSignalHandlers()
77
77
78 sighup.sa_handler = UnixSignalHandler::hupSignalHandler;
78 sighup.sa_handler = UnixSignalHandler::hupSignalHandler;
79 sigemptyset(&sighup.sa_mask);
79 sigemptyset(&sighup.sa_mask);
80− sighup.sa_flags = 0;
80+ sighup.sa_flags = SA_RESTART;
81− sighup.sa_flags |= SA_RESTART;
82
81
83 if (sigaction(SIGHUP, &sighup, 0) > 0)
82 if (sigaction(SIGHUP, &sighup, 0) > 0)
84 {
83 {
@@ -87,8 +86,7 @@ int UnixSignalHandler::setupUnixSignalHandlers()
87
86
88 sigint.sa_handler = UnixSignalHandler::intSignalHandler;
87 sigint.sa_handler = UnixSignalHandler::intSignalHandler;
89 sigemptyset(&sigint.sa_mask);
88 sigemptyset(&sigint.sa_mask);
90− sigint.sa_flags = 0;
89+ sigint.sa_flags = SA_RESTART;
91− sigint.sa_flags |= SA_RESTART;
92
90
93 if (sigaction(SIGINT, &sigint, 0) > 0)
91 if (sigaction(SIGINT, &sigint, 0) > 0)
94 {
92 {
@@ -97,7 +95,7 @@ int UnixSignalHandler::setupUnixSignalHandlers()
97
95
98 sigterm.sa_handler = UnixSignalHandler::termSignalHandler;
96 sigterm.sa_handler = UnixSignalHandler::termSignalHandler;
99 sigemptyset(&sigterm.sa_mask);
97 sigemptyset(&sigterm.sa_mask);
100− sigterm.sa_flags |= SA_RESTART;
98+ sigterm.sa_flags = SA_RESTART;
101
99
102 if (sigaction(SIGTERM, &sigterm, 0) > 0)
100 if (sigaction(SIGTERM, &sigterm, 0) > 0)
103 {
101 {