diff options
| author | Zach DeCook <zachdecook@librem.one> | 2022-01-26 12:03:58 -0500 |
|---|---|---|
| committer | Zach DeCook <zachdecook@librem.one> | 2024-01-11 22:00:30 -0500 |
| commit | 9a5fd9e73456861de6f6194d51893518da365a2c (patch) | |
| tree | 405c072a5db3493ae3a4a5bf621fd7ba73aff1f0 | |
| parent | fd0edc9a694e22cbd00611f111309ee78e535f93 (diff) | |
| download | suggpicker-9a5fd9e73456861de6f6194d51893518da365a2c.tar.gz | |
main: prevent crash on sigpipe
This is commonly caused by a bad program in the output chain, e.g. suggpicker | false
| -rw-r--r-- | main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/main.c b/main.c index ad9ffef..9a0d395 100644 --- a/main.c +++ b/main.c @@ -408,6 +408,11 @@ handle_input(FILE *fd, struct key *sugg, struct kbd *kb) { free(line); } +void +pipewarn(int sigint) { + fprintf(stderr, "suggpicker: cannot pipe data out.\n"); +} + int main(int argc, char **argv) { /* parse command line arguments */ @@ -497,6 +502,7 @@ main(int argc, char **argv) { } signal(SIGUSR1, hide); + signal(SIGPIPE, pipewarn); // We need a more complicated event loop than wayland's default. struct pollfd fds[2]; |
