Hi, it seems there have been a few reports of stalled POST requests recently, but at this point in time we still have very few information and it's hard to draw a verdict.
After a long code review, I suspect one recent fix for the CPU spinning issues to cause this, though I don't know if the stall issue predates this fix (2012/12/10). If some people experience this issue (large POST requests occasionally stall after a few megabytes for some clients), I would be very happy if they could test the following patch on top of 1.5-dev15 (or the latest snapshot). I suspect that the original fix is not totally correct and may have caused this issue, though it's hard to be certain. Thanks in advance, Willy ---- diff --git a/src/stream_interface.c b/src/stream_interface.c index 1507dcc..32cd211 100644 --- a/src/stream_interface.c +++ b/src/stream_interface.c @@ -806,7 +806,8 @@ static void stream_int_chk_snd_conn(struct stream_interface *si) if (si->conn->ctrl) fd_want_send(si->conn->t.sock.fd); si->conn->flags &= ~(CO_FL_WAIT_DATA|CO_FL_WAIT_ROOM|CO_FL_WAIT_RD|CO_FL_WAIT_WR); - si->conn->flags |= CO_FL_CURR_WR_ENA; + if (fd_ev_is_set(si->conn->t.sock.fd, DIR_WR)) + si->conn->flags |= CO_FL_CURR_WR_ENA; if (si_conn_send_loop(si->conn) < 0) { /* Write error on the file descriptor */ -----