CONN_STATE_SUSPENDED,
CONN_STATE_LINGER, /* connection may be closed with lingering */
CONN_STATE_LINGER_NORMAL, /* MPM has started lingering close with normal timeout */
- CONN_STATE_LINGER_SHORT /* MPM has started lingering close with short timeout */
+ CONN_STATE_LINGER_SHORT, /* MPM has started lingering close with short timeout */
+
+ CONN_STATE_NUM /* Number of states (keep/kept last) */
} conn_state_e;
typedef enum {
* while this was expected to do lingering close unconditionally with
* worker or prefork MPMs for instance.
*/
- if (rc != OK || (cs->pub.state < CONN_STATE_LINGER
+ if (rc != OK || (cs->pub.state >= CONN_STATE_NUM)
+ || (cs->pub.state < CONN_STATE_LINGER
&& cs->pub.state != CONN_STATE_WRITE_COMPLETION
&& cs->pub.state != CONN_STATE_CHECK_REQUEST_LINE_READABLE
&& cs->pub.state != CONN_STATE_SUSPENDED)) {