--- a/src/base.h +++ b/src/base.h @@ -323,7 +323,8 @@ typedef enum { CON_STATE_WRITE, CON_STATE_RESPONSE_END, CON_STATE_ERROR, - CON_STATE_CLOSE + CON_STATE_CLOSE, + CON_STATE_READ_CONTINUOUS, } connection_state_t; typedef enum { COND_RESULT_UNSET, COND_RESULT_FALSE, COND_RESULT_TRUE } cond_result_t; --- a/src/connections.c +++ b/src/connections.c @@ -1145,6 +1145,8 @@ static int connection_handle_read_state(server *srv, connection *con) { } break; + case CON_STATE_READ_CONTINUOUS: + break; default: break; } @@ -1214,7 +1216,8 @@ static handler_t connection_handle_fdevent(void *s, void *context, int revents) } if (con->state == CON_STATE_READ || - con->state == CON_STATE_READ_POST) { + con->state == CON_STATE_READ_POST || + con->state == CON_STATE_READ_CONTINUOUS) { connection_handle_read_state(srv, con); } @@ -1627,6 +1630,7 @@ int connection_state_machine(server *srv, connection *con) { break; case CON_STATE_READ_POST: case CON_STATE_READ: + case CON_STATE_READ_CONTINUOUS: if (srv->srvconf.log_state_handling) { log_error_write(srv, __FILE__, __LINE__, "sds", "state for fd", con->fd, connection_get_state(con->state));