diff --git a/src/local.c b/src/local.c index 355c3046..97ef76f8 100644 --- a/src/local.c +++ b/src/local.c @@ -641,8 +641,6 @@ server_stream(EV_P_ ev_io *w, buffer_t *buf) return; } - if (!remote->direct) ev_timer_again(EV_A_ & remote->recv_ctx->watcher); - // insert shadowsocks header if (!remote->direct) { #ifdef __ANDROID__ @@ -1008,8 +1006,6 @@ remote_recv_cb(EV_P_ ev_io *w, int revents) remote_t *remote = remote_recv_ctx->remote; server_t *server = remote->server; - if (!remote->direct) ev_timer_again(EV_A_ & remote->recv_ctx->watcher); - ssize_t r = recv(remote->fd, server->buf->data, BUF_SIZE, 0); if (r == 0) { @@ -1123,7 +1119,6 @@ remote_send_cb(EV_P_ ev_io *w, int revents) if (r == 0) { remote_send_ctx->connected = 1; ev_timer_stop(EV_A_ & remote_send_ctx->watcher); - if (!remote->direct) ev_timer_start(EV_A_ & remote->recv_ctx->watcher); ev_io_start(EV_A_ & remote->recv_ctx->io); // no need to send any data @@ -1197,8 +1192,6 @@ new_remote(int fd, int timeout) ev_io_init(&remote->send_ctx->io, remote_send_cb, fd, EV_WRITE); ev_timer_init(&remote->send_ctx->watcher, remote_timeout_cb, min(MAX_CONNECT_TIMEOUT, timeout), 0); - ev_timer_init(&remote->recv_ctx->watcher, remote_timeout_cb, - timeout, timeout); return remote; } @@ -1223,7 +1216,6 @@ close_and_free_remote(EV_P_ remote_t *remote) { if (remote != NULL) { ev_timer_stop(EV_A_ & remote->send_ctx->watcher); - ev_timer_stop(EV_A_ & remote->recv_ctx->watcher); ev_io_stop(EV_A_ & remote->send_ctx->io); ev_io_stop(EV_A_ & remote->recv_ctx->io); close(remote->fd); diff --git a/src/redir.c b/src/redir.c index c440f7ee..45eba374 100644 --- a/src/redir.c +++ b/src/redir.c @@ -361,8 +361,6 @@ remote_recv_cb(EV_P_ ev_io *w, int revents) remote_t *remote = remote_recv_ctx->remote; server_t *server = remote->server; - ev_timer_again(EV_A_ & remote->recv_ctx->watcher); - ssize_t r = recv(remote->fd, server->buf->data, BUF_SIZE, 0); if (r == 0) { @@ -448,7 +446,6 @@ remote_send_cb(EV_P_ ev_io *w, int revents) ev_io_stop(EV_A_ & remote_send_ctx->io); ev_io_stop(EV_A_ & server->recv_ctx->io); ev_io_start(EV_A_ & remote->recv_ctx->io); - ev_timer_start(EV_A_ & remote->recv_ctx->watcher); // send destaddr buffer_t ss_addr_to_send; @@ -604,8 +601,6 @@ new_remote(int fd, int timeout) ev_io_init(&remote->send_ctx->io, remote_send_cb, fd, EV_WRITE); ev_timer_init(&remote->send_ctx->watcher, remote_timeout_cb, min(MAX_CONNECT_TIMEOUT, timeout), 0); - ev_timer_init(&remote->recv_ctx->watcher, remote_timeout_cb, - timeout, 0); return remote; } @@ -630,7 +625,6 @@ close_and_free_remote(EV_P_ remote_t *remote) { if (remote != NULL) { ev_timer_stop(EV_A_ & remote->send_ctx->watcher); - ev_timer_stop(EV_A_ & remote->recv_ctx->watcher); ev_io_stop(EV_A_ & remote->send_ctx->io); ev_io_stop(EV_A_ & remote->recv_ctx->io); close(remote->fd);