server: shutdown all handler sockets upon rmmod

This commit is contained in:
Thomas Schoebel-Theuer 2023-02-17 13:21:56 +01:00 committed by Thomas Schoebel-Theuer
parent 74a645fdd4
commit b0509eb759

View File

@ -1219,6 +1219,7 @@ EXPORT_SYMBOL_GPL(server_limiter);
void exit_mars_server(void)
{
struct list_head *tmp;
int i;
MARS_INF("exit_server()\n");
@ -1230,6 +1231,17 @@ void exit_mars_server(void)
mars_shutdown_socket(server_socket);
}
down_read(&server_mutex);
for (tmp = server_anchor.next; tmp && tmp != &server_anchor; tmp = tmp->next) {
struct server_brick *running_brick = container_of(tmp, struct server_brick, server_head);
struct mars_socket *handler_socket = &running_brick->handler_socket;
if (!handler_socket)
continue;
mars_shutdown_socket(handler_socket);
}
up_read(&server_mutex);
for (i = 0; i < MARS_TRAFFIC_MAX; i++) {
if (server_thread[i]) {
MARS_INF("stopping server thread %d...\n", i);