/* union transition */
memset(&wsi->u, 0, sizeof(wsi->u));
- wsi->mode = LWS_CONNMODE_HTTP_SERVING;
+ wsi->mode = LWS_CONNMODE_HTTP_SERVING_ACCEPTED;
wsi->state = WSI_STATE_HTTP;
n = 0;
if (wsi->protocol->callback)
wsi->u.ws.close_reason = reason;
- if (wsi->mode == LWS_CONNMODE_HTTP_SERVING && wsi->u.http.fd) {
+ if (wsi->mode == LWS_CONNMODE_HTTP_SERVING_ACCEPTED && wsi->u.http.fd) {
lwsl_debug("closing http fd %d\n", wsi->u.http.fd);
close(wsi->u.http.fd);
wsi->u.http.fd = 0;
#ifndef LWS_NO_SERVER
case LWS_CONNMODE_HTTP_SERVING:
+ case LWS_CONNMODE_HTTP_SERVING_ACCEPTED:
case LWS_CONNMODE_SERVER_LISTENER:
case LWS_CONNMODE_SSL_ACK_PENDING:
n = lws_server_socket_service(context, wsi, pollfd);
enum connection_mode {
LWS_CONNMODE_HTTP_SERVING,
+ LWS_CONNMODE_HTTP_SERVING_ACCEPTED, /* actual HTTP service going on */
LWS_CONNMODE_PRE_WS_SERVING_ACCEPT,
LWS_CONNMODE_WS_SERVING,
switch (wsi->mode) {
case LWS_CONNMODE_HTTP_SERVING:
+ case LWS_CONNMODE_HTTP_SERVING_ACCEPTED:
/* handle http headers coming in */