set_nonblock() will always set the file descriptor to non-blocking, regardless of the nonblock argument. This patch fixes the issue by passing the correct argument to the fcntl() call. The bug had no impact because there is only one caller of pa_make_fd_block() in poll-win32.c --- src/pulsecore/core-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index 64e9f217..7f627539 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -202,7 +202,7 @@ static void set_nonblock(int fd, bool nonblock) { nv = v & ~O_NONBLOCK; if (v != nv) - pa_assert_se(fcntl(fd, F_SETFL, v|O_NONBLOCK) >= 0); + pa_assert_se(fcntl(fd, F_SETFL, nv) >= 0); #elif defined(OS_IS_WIN32) u_long arg; -- 2.14.1