Properly consume socket events in the server when the socket manager reports them
This commit is contained in:
@@ -1968,7 +1968,7 @@ int server_secure_context_add_certificate(ServerSecureContext *ctx,
|
|||||||
// src/socket.c
|
// src/socket.c
|
||||||
////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#define TRACE_STATE_CHANGES
|
//#define TRACE_STATE_CHANGES
|
||||||
|
|
||||||
#ifndef TRACE_STATE_CHANGES
|
#ifndef TRACE_STATE_CHANGES
|
||||||
#define UPDATE_STATE(a, b) a = b
|
#define UPDATE_STATE(a, b) a = b
|
||||||
@@ -4705,7 +4705,9 @@ int http_server_process_events(HTTP_Server *server,
|
|||||||
socket_set_user(&server->sockets, events[i].handle, conn);
|
socket_set_user(&server->sockets, events[i].handle, conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
http_server_conn_process_events(server, conn);
|
while (socket_ready(&server->sockets, events[i].handle)
|
||||||
|
&& conn->state != HTTP_SERVER_CONN_WAIT_STATUS)
|
||||||
|
http_server_conn_process_events(server, conn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -271,7 +271,9 @@ int http_server_process_events(HTTP_Server *server,
|
|||||||
socket_set_user(&server->sockets, events[i].handle, conn);
|
socket_set_user(&server->sockets, events[i].handle, conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
http_server_conn_process_events(server, conn);
|
while (socket_ready(&server->sockets, events[i].handle)
|
||||||
|
&& conn->state != HTTP_SERVER_CONN_WAIT_STATUS)
|
||||||
|
http_server_conn_process_events(server, conn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user