diff options
author | Rui Abreu Ferreira <raf-ep@gmx.com> | 2014-07-09 18:25:56 +0100 |
---|---|---|
committer | Seth Jackson <sethjackson@gmail.com> | 2015-12-08 00:17:34 -0500 |
commit | 67a7b1785c13ef71e2c34bb780151de295fd0aef (patch) | |
tree | df4a3319e7cef2980f1e80e5af7817cd07dc2bc8 | |
parent | 6d583f85875499fbe05b549a1c0ac57b9ededd3d (diff) | |
download | rneovim-67a7b1785c13ef71e2c34bb780151de295fd0aef.tar.gz rneovim-67a7b1785c13ef71e2c34bb780151de295fd0aef.tar.bz2 rneovim-67a7b1785c13ef71e2c34bb780151de295fd0aef.zip |
Add guards for SIGPIPE and SIGQUIT
In some systems the signals SIGPIPE and SIGQUIT are not available.
-rw-r--r-- | src/nvim/os/signal.c | 12 |
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); |