--- a/rust/chg/src/sighandlers.c Thu Jan 24 11:35:40 2019 -0500
+++ b/rust/chg/src/sighandlers.c Thu Jan 24 10:21:59 2019 -0500
@@ -33,28 +33,36 @@
{
sigset_t unblockset, oldset;
struct sigaction sa, oldsa;
- if (sigemptyset(&unblockset) < 0)
+ if (sigemptyset(&unblockset) < 0) {
return;
- if (sigaddset(&unblockset, sig) < 0)
+ }
+ if (sigaddset(&unblockset, sig) < 0) {
return;
+ }
memset(&sa, 0, sizeof(sa));
sa.sa_handler = SIG_DFL;
sa.sa_flags = SA_RESTART;
- if (sigemptyset(&sa.sa_mask) < 0)
+ if (sigemptyset(&sa.sa_mask) < 0) {
return;
+ }
forwardsignal(sig);
- if (raise(sig) < 0) /* resend to self */
+ if (raise(sig) < 0) { /* resend to self */
return;
- if (sigaction(sig, &sa, &oldsa) < 0)
+ }
+ if (sigaction(sig, &sa, &oldsa) < 0) {
return;
- if (sigprocmask(SIG_UNBLOCK, &unblockset, &oldset) < 0)
+ }
+ if (sigprocmask(SIG_UNBLOCK, &unblockset, &oldset) < 0) {
return;
+ }
/* resent signal will be handled before sigprocmask() returns */
- if (sigprocmask(SIG_SETMASK, &oldset, NULL) < 0)
+ if (sigprocmask(SIG_SETMASK, &oldset, NULL) < 0) {
return;
- if (sigaction(sig, &oldsa, NULL) < 0)
+ }
+ if (sigaction(sig, &oldsa, NULL) < 0) {
return;
+ }
}
/*
@@ -81,37 +89,46 @@
* - SIGINT: usually generated by the terminal */
sa.sa_handler = forwardsignaltogroup;
sa.sa_flags = SA_RESTART;
- if (sigemptyset(&sa.sa_mask) < 0)
+ if (sigemptyset(&sa.sa_mask) < 0) {
+ return -1;
+ }
+ if (sigaction(SIGHUP, &sa, NULL) < 0) {
return -1;
- if (sigaction(SIGHUP, &sa, NULL) < 0)
+ }
+ if (sigaction(SIGINT, &sa, NULL) < 0) {
return -1;
- if (sigaction(SIGINT, &sa, NULL) < 0)
- return -1;
+ }
/* terminate frontend by double SIGTERM in case of server freeze */
sa.sa_handler = forwardsignal;
sa.sa_flags |= SA_RESETHAND;
- if (sigaction(SIGTERM, &sa, NULL) < 0)
+ if (sigaction(SIGTERM, &sa, NULL) < 0) {
return -1;
+ }
/* notify the worker about window resize events */
sa.sa_flags = SA_RESTART;
- if (sigaction(SIGWINCH, &sa, NULL) < 0)
+ if (sigaction(SIGWINCH, &sa, NULL) < 0) {
return -1;
+ }
/* forward user-defined signals */
- if (sigaction(SIGUSR1, &sa, NULL) < 0)
+ if (sigaction(SIGUSR1, &sa, NULL) < 0) {
return -1;
- if (sigaction(SIGUSR2, &sa, NULL) < 0)
+ }
+ if (sigaction(SIGUSR2, &sa, NULL) < 0) {
return -1;
+ }
/* propagate job control requests to worker */
sa.sa_handler = forwardsignal;
sa.sa_flags = SA_RESTART;
- if (sigaction(SIGCONT, &sa, NULL) < 0)
+ if (sigaction(SIGCONT, &sa, NULL) < 0) {
return -1;
+ }
sa.sa_handler = handlestopsignal;
sa.sa_flags = SA_RESTART;
- if (sigaction(SIGTSTP, &sa, NULL) < 0)
+ if (sigaction(SIGTSTP, &sa, NULL) < 0) {
return -1;
+ }
return 0;
}
@@ -127,24 +144,31 @@
memset(&sa, 0, sizeof(sa));
sa.sa_handler = SIG_DFL;
sa.sa_flags = SA_RESTART;
- if (sigemptyset(&sa.sa_mask) < 0)
+ if (sigemptyset(&sa.sa_mask) < 0) {
return -1;
+ }
- if (sigaction(SIGHUP, &sa, NULL) < 0)
+ if (sigaction(SIGHUP, &sa, NULL) < 0) {
return -1;
- if (sigaction(SIGTERM, &sa, NULL) < 0)
+ }
+ if (sigaction(SIGTERM, &sa, NULL) < 0) {
return -1;
- if (sigaction(SIGWINCH, &sa, NULL) < 0)
+ }
+ if (sigaction(SIGWINCH, &sa, NULL) < 0) {
return -1;
- if (sigaction(SIGCONT, &sa, NULL) < 0)
+ }
+ if (sigaction(SIGCONT, &sa, NULL) < 0) {
return -1;
- if (sigaction(SIGTSTP, &sa, NULL) < 0)
+ }
+ if (sigaction(SIGTSTP, &sa, NULL) < 0) {
return -1;
+ }
/* ignore Ctrl+C while shutting down to make pager exits cleanly */
sa.sa_handler = SIG_IGN;
- if (sigaction(SIGINT, &sa, NULL) < 0)
+ if (sigaction(SIGINT, &sa, NULL) < 0) {
return -1;
+ }
peerpid = 0;
return 0;