From b87b960daaa2c4d79728d8e1d97f2d0ce1339883 Mon Sep 17 00:00:00 2001 From: sin Date: Wed, 24 Sep 2014 14:46:48 +0100 Subject: Ignore SIGPIPE and only cancel on EPIPE --- ratox.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ratox.c') diff --git a/ratox.c b/ratox.c index 65c568c..4311940 100644 --- a/ratox.c +++ b/ratox.c @@ -545,7 +545,8 @@ cbfiledata(Tox *m, int32_t fid, uint8_t fnum, const uint8_t *data, uint16_t len, n = write(f->fd[FFILE_OUT], data, len); if (n < 0) - cancelrxtransfer(f); + if (errno == EPIPE) + cancelrxtransfer(f); } static void @@ -1401,6 +1402,7 @@ main(int argc, char *argv[]) signal(SIGQUIT, initshutdown); signal(SIGABRT, initshutdown); signal(SIGTERM, initshutdown); + signal(SIGPIPE, SIG_IGN); printrat(); toxinit(); -- cgit v1.2.3