diff --git a/src/proto_http.c b/src/proto_http.c index 9ddec24ac..59d0479c8 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -2695,7 +2695,7 @@ int process_srv(struct session *t) int conn_err; DPRINTF(stderr,"process_srv: c=%s s=%s set(r,w)=%d,%d exp(r,w)=%u,%u\n", - cli_stnames[c], srv_stnames[s], + cli_stnames[t->cli_state], srv_stnames[t->srv_state], EV_FD_ISSET(t->srv_fd, DIR_RD), EV_FD_ISSET(t->srv_fd, DIR_WR), rep->rex, req->wex); diff --git a/src/stream_sock.c b/src/stream_sock.c index 84bc2dbf5..10688e940 100644 --- a/src/stream_sock.c +++ b/src/stream_sock.c @@ -217,7 +217,7 @@ int stream_sock_read(int fd) { * have at least read something. */ - if (b->flags & BF_PARTIAL_READ) + if (b->rex && b->flags & BF_PARTIAL_READ) b->rex = tick_add_ifset(now_ms, b->rto); out_wakeup: @@ -373,14 +373,14 @@ int stream_sock_write(int fd) { * written something. */ - if (b->flags & BF_PARTIAL_WRITE) { + if (b->wex && b->flags & BF_PARTIAL_WRITE) { b->wex = tick_add_ifset(now_ms, b->wto); if (b->wex) { /* FIXME: to prevent the client from expiring read timeouts during writes, * we refresh it. A solution would be to merge read+write timeouts into a * unique one, although that needs some study particularly on full-duplex * TCP connections. */ - if (!(b->flags & BF_SHUTR_STATUS)) + if (b->rex && !(b->flags & BF_SHUTR_STATUS)) b->rex = b->wex; } }