From 53be85e1b1fabfad7222e3d4a2c9607347a0e3bd Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 26 Mar 2008 10:39:13 +0000 Subject: notify: more cleanups, add error checking for pipe errors Don't bother initializing the junk buffer, we really don't care. The array was also unnecessary and ugly. Also, avoid returning the byte count we read/wrote since it unnecessarily exposes internal details of the implementation to the callers. git-svn-id: https://svn.musicpd.org/mpd/trunk@7219 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/notify.c | 15 ++++++++------- src/notify.h | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'src') 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 -- cgit v1.2.3