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:
15
src/utils.c
15
src/utils.c
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user