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
This commit is contained in:
Eric Wong
2008-03-26 10:39:03 +00:00
parent 70dbc2b0e7
commit 232c9f6c41
7 changed files with 31 additions and 41 deletions

View File

@@ -214,3 +214,18 @@ char *parsePath(char *path)
return newPath;
}
int set_nonblocking(int fd)
{
int ret, flags;
assert(fd >= 0);
while ((flags = fcntl(fd, F_GETFL)) < 0 && errno == EINTR) ;
if (flags < 0)
return flags;
flags |= O_NONBLOCK;
while ((ret = fcntl(fd, F_SETFL, flags)) < 0 && errno == EINTR) ;
return ret;
}