aboutsummaryrefslogtreecommitdiff
path: root/src/notify.c
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2008-03-26 10:39:03 +0000
committerEric Wong <normalperson@yhbt.net>2008-03-26 10:39:03 +0000
commit232c9f6c41387bc3cf1c239e0ce4caafbbb76c67 (patch)
treea59f599bae44be0c0744c370134e7786bc243bbc /src/notify.c
parent70dbc2b0e76f479961bd0ac326ee6a5d009cc170 (diff)
notify: cleanups
* move set_nonblock{,ing}() into utils.c since we use it elsewhere, too * add proper error checking to set_nonblocking() * use os_compat.h instead of individually #includ-ing system headers git-svn-id: https://svn.musicpd.org/mpd/trunk@7217 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/notify.c')
-rw-r--r--src/notify.c41
1 files changed, 9 insertions, 32 deletions
diff --git a/src/notify.c b/src/notify.c
index 85db4619..d5898747 100644
--- a/src/notify.c
+++ b/src/notify.c
@@ -17,40 +17,17 @@
*/
#include "notify.h"
+#include "os_compat.h"
+#include "log.h"
+#include "utils.h"
-#include <assert.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-int set_nonblock(int fd)
-{
- int ret;
-
- assert(fd >= 0);
-
- ret = fcntl(fd, F_GETFL, 0);
- if (ret < 0)
- return ret;
-
- return fcntl(fd, F_SETFL, ret|O_NONBLOCK);
-}
-
-int initNotify(Notify *notify)
+void initNotify(Notify *notify)
{
- int ret;
-
- ret = pipe(notify->fds);
- if (ret < 0)
- return -1;
-
- ret = set_nonblock(notify->fds[1]);
- if (ret < 0) {
- close(notify->fds[0]);
- close(notify->fds[1]);
- return -1;
- }
-
- return 0;
+ if (pipe(notify->fds) < 0)
+ FATAL("Couldn't open pipe: %s", strerror(errno));
+ if (set_nonblocking(notify->fds[1]) < 0)
+ FATAL("Couldn't set non-blocking on notify fd: %s",
+ strerror(errno));
}
int waitNotify(Notify *notify)