From 80e23f5474b94b36f66c0406425f2214d89eaf6e Mon Sep 17 00:00:00 2001 From: Siraaj Khandkar Date: Tue, 24 Mar 2020 18:57:58 -0400 Subject: [PATCH] Catch broken pipe errors in time sensor --- x5/khatus_sensor_time.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/x5/khatus_sensor_time.c b/x5/khatus_sensor_time.c index ad170ef..869134c 100644 --- a/x5/khatus_sensor_time.c +++ b/x5/khatus_sensor_time.c @@ -112,10 +112,18 @@ main(int argc, char **argv) for (i = 0; (n = write(fd, buf + i++, 1)) && r; r--) ; if (n < 0) - fatal("Failed to write to %s. Err num: %d, Err msg: %s\n", - fifo_name, - errno, - strerror(errno)); + switch (errno) { + case EPIPE: + error("Broken pipe. Msg buf: %s\n", buf); + break; + default: + fatal( + "Failed to write to %s. " + "Err num: %d, Err msg: %s\n", + fifo_name, + errno, + strerror(errno)); + } if (close(fd) < 0) fatal("Failed to close %s. Err num: %d, Err msg: %s\n", fifo_name, -- 2.20.1