From 61d2d6fd165ebfc3d3985e89000964e9b11c5157 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Mon, 2 Dec 2024 19:46:55 -0500 Subject: Explicitly track sink-side entry ended state The server/list-side of this change is not done so there are likely bugs in the set command logic. It works mostly fine for now though. Signed-off-by: Andrew Opalach --- src/server/common.h | 3 --- src/server/server.c | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) (limited to 'src/server') diff --git a/src/server/common.h b/src/server/common.h index ef24601..0d47f48 100644 --- a/src/server/common.h +++ b/src/server/common.h @@ -15,9 +15,6 @@ extern str *CAMU_UNIX_LOCAL; #define CAMU_LOCAL_TYPE AKI_SOCKET_TCP #define CAMU_LOCAL_ADDR CAMU_SERVER_IP -//#define CAMU_LOCAL_TYPE AKI_SOCKET_UNIX -//#define CAMU_LOCAL_ADDR CAMU_UNIX_PATH - enum { CAMU_NODE = 0, CAMU_CLIENT, diff --git a/src/server/server.c b/src/server/server.c index e43a57f..57d7d7b 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -474,12 +474,12 @@ static void connection_closed_callback(void *userdata, struct aki_rpc_connection al_array_foreach(server->sinks, i, sink) { if (sink->conn == conn) { al_log_info("server", "Sink removed."); - al_array_remove_at(server->sinks, i); struct lia_list *list; al_array_foreach(server->lists, j, list) { lia_list_remove_sink(list, sink); } cleanup_sink(sink); + al_array_remove_at(server->sinks, i); break; } } -- cgit v1.2.3-101-g0448