aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2015-12-09 23:17:07 -0500
committerJustin M. Keyes <justinkz@gmail.com>2015-12-09 23:17:07 -0500
commitbf65b3ab4571ce98140597859d385e6eea5ec788 (patch)
tree80a193c0bccce6d8932b61f2116474df8fceb29a /src
parent87abe073d9dba06fa39adb95968ea02d1059be80 (diff)
parent67a7b1785c13ef71e2c34bb780151de295fd0aef (diff)
downloadrneovim-bf65b3ab4571ce98140597859d385e6eea5ec788.tar.gz
rneovim-bf65b3ab4571ce98140597859d385e6eea5ec788.tar.bz2
rneovim-bf65b3ab4571ce98140597859d385e6eea5ec788.zip
Merge pull request #3804 from sethjackson/signal-guards
Add guards for SIGPIPE and SIGQUIT
Diffstat (limited to 'src')
-rw-r--r--src/nvim/os/signal.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/nvim/os/signal.c b/src/nvim/os/signal.c
index 7158721433..0ff6016e32 100644
--- a/src/nvim/os/signal.c
+++ b/src/nvim/os/signal.c
@@ -32,9 +32,13 @@ void signal_init(void)
signal_watcher_init(&loop, &shup, NULL);
signal_watcher_init(&loop, &squit, NULL);
signal_watcher_init(&loop, &sterm, NULL);
+#ifdef SIGPIPE
signal_watcher_start(&spipe, on_signal, SIGPIPE);
+#endif
signal_watcher_start(&shup, on_signal, SIGHUP);
+#ifdef SIGQUIT
signal_watcher_start(&squit, on_signal, SIGQUIT);
+#endif
signal_watcher_start(&sterm, on_signal, SIGTERM);
#ifdef SIGPWR
signal_watcher_init(&loop, &spwr, NULL);
@@ -82,12 +86,16 @@ static char * signal_name(int signum)
case SIGPWR:
return "SIGPWR";
#endif
+#ifdef SIGPIPE
case SIGPIPE:
return "SIGPIPE";
+#endif
case SIGTERM:
return "SIGTERM";
+#ifdef SIGQUIT
case SIGQUIT:
return "SIGQUIT";
+#endif
case SIGHUP:
return "SIGHUP";
default:
@@ -123,11 +131,15 @@ static void on_signal(SignalWatcher *handle, int signum, void *data)
ml_sync_all(false, false);
break;
#endif
+#ifdef SIGPIPE
case SIGPIPE:
// Ignore
break;
+#endif
case SIGTERM:
+#ifdef SIGQUIT
case SIGQUIT:
+#endif
case SIGHUP:
if (!rejecting_deadly) {
deadly_signal(signum);