aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/notify.c15
-rw-r--r--src/notify.h4
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