diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/notify.c | 15 | ||||
-rw-r--r-- | src/notify.h | 4 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/notify.c b/src/notify.c index d58987470..86d5e1af1 100644 --- a/src/notify.c +++ b/src/notify.c @@ -30,18 +30,19 @@ void initNotify(Notify *notify) strerror(errno)); } -int waitNotify(Notify *notify) +void waitNotify(Notify *notify) { char buffer[64]; - ssize_t nbytes; - nbytes = read(notify->fds[0], buffer, sizeof(buffer)); - return (int)nbytes; + if (read(notify->fds[0], buffer, sizeof(buffer)) < 0) + FATAL("error reading from pipe: %s\n", strerror(errno)); } -int signalNotify(Notify *notify) +void signalNotify(Notify *notify) { - char buffer[1] = { 0 }; + char buffer; - return (int)write(notify->fds[1], &buffer, sizeof(buffer)); + if (write(notify->fds[1], &buffer, sizeof(buffer)) < 0 && + errno != EAGAIN && errno != EINTR) + FATAL("error writing to pipe: %s\n", strerror(errno)); } diff --git a/src/notify.h b/src/notify.h index 6c36b019e..1c94eae6e 100644 --- a/src/notify.h +++ b/src/notify.h @@ -40,8 +40,8 @@ typedef struct _Notify { void initNotify(Notify *notify); -int waitNotify(Notify *notify); +void waitNotify(Notify *notify); -int signalNotify(Notify *notify); +void signalNotify(Notify *notify); #endif |