aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2008-03-26 10:39:13 +0000
committerEric Wong <normalperson@yhbt.net>2008-03-26 10:39:13 +0000
commit53be85e1b1fabfad7222e3d4a2c9607347a0e3bd (patch)
treedcdf119323d1b3844d37060c03848813ab953b70
parent19d4f6df18a448df7ca0a028c2f9470e56f9bd0f (diff)
downloadmpd-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
-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