From 072f555c07318a946cd2131b9b261d11a96fbbf8 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sat, 21 May 2022 16:17:10 +0200 Subject: ipcpd: Fix deadlock on exit in udp, local, eth The IPCP flow_set was getting destroyed with the IPCP main loop still running, causing potential deadlocks. Reported-by: Thijs Paelman Confirmed-by: Dimitri Staessens Tested-by: Dimitri Staessens Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/ipcpd/local/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/ipcpd/local/main.c') diff --git a/src/ipcpd/local/main.c b/src/ipcpd/local/main.c index 2b20ae15..15b6128b 100644 --- a/src/ipcpd/local/main.c +++ b/src/ipcpd/local/main.c @@ -377,10 +377,10 @@ int main(int argc, pthread_join(local_data.packet_loop, NULL); } - local_data_fini(); - ipcp_fini(); + local_data_fini(); + exit(EXIT_SUCCESS); fail_create_r: ipcp_set_state(IPCP_NULL); -- cgit v1.2.3