diff options
author | Eric Wong <normalperson@yhbt.net> | 2008-03-26 10:39:03 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-03-26 10:39:03 +0000 |
commit | 232c9f6c41387bc3cf1c239e0ce4caafbbb76c67 (patch) | |
tree | a59f599bae44be0c0744c370134e7786bc243bbc /src/notify.c | |
parent | 70dbc2b0e76f479961bd0ac326ee6a5d009cc170 (diff) | |
download | mpd-232c9f6c41387bc3cf1c239e0ce4caafbbb76c67.tar.gz mpd-232c9f6c41387bc3cf1c239e0ce4caafbbb76c67.tar.xz mpd-232c9f6c41387bc3cf1c239e0ce4caafbbb76c67.zip |
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.c | 41 |
1 files changed, 9 insertions, 32 deletions
diff --git a/src/notify.c b/src/notify.c index 85db46192..d58987470 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) |