From 8d3ce8b77c7bdc939e051347580da2970d7c3e8c Mon Sep 17 00:00:00 2001 From: Max Lv Date: Mon, 7 May 2018 09:05:38 +0800 Subject: [PATCH] Make sure ev_io_stop before ev_io_set --- src/resolv.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/resolv.c b/src/resolv.c index 1785f766..c2778ff5 100644 --- a/src/resolv.c +++ b/src/resolv.c @@ -460,12 +460,9 @@ static void resolv_sock_state_cb(void *data, int s, int read, int write) { struct resolv_ctx *ctx = (struct resolv_ctx *)data; - int io_active = ev_is_active(&ctx->io); if (read || write) { - if (io_active && ctx->io.fd != s) { - ev_io_stop(default_loop, &ctx->io); - } + ev_io_stop(default_loop, &ctx->io); ev_io_set(&ctx->io, s, (read ? EV_READ : 0) | (write ? EV_WRITE : 0)); ev_io_start(default_loop, &ctx->io); } else {