diff options
author | Eric Wong <normalperson@yhbt.net> | 2008-03-26 10:39:13 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-03-26 10:39:13 +0000 |
commit | 53be85e1b1fabfad7222e3d4a2c9607347a0e3bd (patch) | |
tree | dcdf119323d1b3844d37060c03848813ab953b70 /src | |
parent | 19d4f6df18a448df7ca0a028c2f9470e56f9bd0f (diff) | |
download | mpd-53be85e1b1fabfad7222e3d4a2c9607347a0e3bd.tar.gz mpd-53be85e1b1fabfad7222e3d4a2c9607347a0e3bd.tar.xz mpd-53be85e1b1fabfad7222e3d4a2c9607347a0e3bd.zip |
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
Diffstat (limited to '')
-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 |