+
+ if (new_handler) {
+ s.sa_handler = new_handler;
+ s.sa_flags = 0;
+ sigaction(signum, &s, NULL);
+ }
+}
+
+static void uloop_setup_signals(bool add)
+{
+ static struct sigaction old_sigint, old_sigchld, old_sigterm;
+
+ uloop_install_handler(SIGINT, uloop_handle_sigint, &old_sigint, add);
+ uloop_install_handler(SIGTERM, uloop_handle_sigint, &old_sigterm, add);
+ uloop_install_handler(SIGCHLD, uloop_sigchld, &old_sigchld, add);
+
+ uloop_ignore_signal(SIGPIPE, add);