From d5df5fb5b8f5e2815405a76ced4b7407988af0d6 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 31 May 2014 08:09:36 +0200 Subject: Fix poll race condition on *BSD --- src/async.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/async.c') diff --git a/src/async.c b/src/async.c index c1c4802..4a2de10 100644 --- a/src/async.c +++ b/src/async.c @@ -114,6 +114,9 @@ void fastd_async_handle(void) { exit_errno("fastd_async_handle: recvmsg"); switch (header.type) { + case ASYNC_TYPE_NOP: + break; + case ASYNC_TYPE_RESOLVE_RETURN: handle_resolve_return((const fastd_async_resolve_return_t *)buf); break; @@ -143,7 +146,7 @@ void fastd_async_enqueue(fastd_async_type_t type, const void *data, size_t len) }; struct msghdr msg = { .msg_iov = vec, - .msg_iovlen = 2, + .msg_iovlen = len ? 2 : 1, }; if (sendmsg(ctx.async_wfd, &msg, 0) < 0) -- cgit v1.2.3