From 903e7f98cb6b06685492e5ff40a966bf3050dbce Mon Sep 17 00:00:00 2001 From: Max Lv Date: Mon, 1 Apr 2013 15:54:33 +0800 Subject: [PATCH] fix --- server.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/server.c b/server.c index 20424c08..d7dc5fcc 100644 --- a/server.c +++ b/server.c @@ -144,10 +144,8 @@ static void server_recv_cb (EV_P_ ev_io *w, int revents) { if (r == 0) { // connection closed + close_and_free_remote(EV_A_ remote); close_and_free_server(EV_A_ server); - if (remote != NULL) { - ev_io_start(EV_A_ &remote->send_ctx->io); - } return; } else if (r < 0) { if (errno == EAGAIN || errno == EWOULDBLOCK) { @@ -357,9 +355,7 @@ static void remote_recv_cb (EV_P_ ev_io *w, int revents) { if (r == 0) { // connection closed close_and_free_remote(EV_A_ remote); - if (server != NULL) { - ev_io_start(EV_A_ &server->send_ctx->io); - } + close_and_free_server(EV_A_ server); return; } else if (r < 0) { if (errno == EAGAIN || errno == EWOULDBLOCK) {