From: Marek VavruĊĦa Date: Wed, 15 Jul 2015 15:19:43 +0000 (+0200) Subject: daemon/io: use recvmmsg for master sockets, recvmsg otherwise X-Git-Tag: v1.0.0-beta1~77^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3600b073e1bb2c71a509dd0cdf1a70254efc49e7;p=thirdparty%2Fknot-resolver.git daemon/io: use recvmmsg for master sockets, recvmsg otherwise this applies for Linux with recvmmsg() support only --- diff --git a/daemon/io.c b/daemon/io.c index 4457f456e..f4073fba1 100644 --- a/daemon/io.c +++ b/daemon/io.c @@ -41,7 +41,11 @@ static void handle_getbuf(uv_handle_t* handle, size_t suggested_size, uv_buf_t* uv_loop_t *loop = handle->loop; struct worker_ctx *worker = loop->data; buf->base = (char *)worker->wire_buf; - buf->len = sizeof(worker->wire_buf); + /* Use recvmmsg() on master sockets if possible. */ + if (handle->data) + buf->len = suggested_size; + else + buf->len = sizeof(worker->wire_buf); } void udp_recv(uv_udp_t *handle, ssize_t nread, const uv_buf_t *buf,