From 1bf7bd5f83360ab516d3c9714e2beac00024e545 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Tue, 20 Sep 2016 08:58:49 +0800 Subject: [PATCH] Fix #836 --- src/local.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/local.c b/src/local.c index 055df09d..cc78ab67 100644 --- a/src/local.c +++ b/src/local.c @@ -347,18 +347,18 @@ server_recv_cb(EV_P_ ev_io *w, int revents) close_and_free_server(EV_A_ server); return; } - } else if (s <= (int)(remote->buf->len)) { + } else if (s < (int)(remote->buf->len)) { remote->buf->len -= s; remote->buf->idx = s; + return; } else { remote->buf->idx = 0; remote->buf->len = 0; } // Just connected - remote->send_ctx->connected = 1; - ev_timer_stop(EV_A_ & remote->send_ctx->watcher); - ev_io_start(EV_A_ & remote->recv_ctx->io); + ev_io_stop(EV_A_ & server_recv_ctx->io); + ev_io_start(EV_A_ & remote->send_ctx->io); #else // if TCP_FASTOPEN is not defined, fast_open will always be 0 LOGE("can't come here");