summaryrefslogtreecommitdiff
path: root/src/ipcpd/broadcast/main.c
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-05-26 22:51:43 +0200
committerSander Vrijders <sander@ouroboros.rocks>2026-05-27 15:55:08 +0200
commitce340a4892b445c7e4d6a0ce3cb2c1972a862080 (patch)
tree0db2d34b5727780dc5e24968418f70258e72dd49 /src/ipcpd/broadcast/main.c
parent347f6285d95c6c802a3efbab107c55d0b83036e3 (diff)
downloadouroboros-ce340a4892b445c7e4d6a0ce3cb2c1972a862080.tar.gz
ouroboros-ce340a4892b445c7e4d6a0ce3cb2c1972a862080.zip
ipcpd: Drain mainloop before component shutdown
Worker mid fa_dealloc could still try to read from fa.psched because stop_components() ran before ipcp_stop()/tpm_stop(). Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/ipcpd/broadcast/main.c')
-rw-r--r--src/ipcpd/broadcast/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/ipcpd/broadcast/main.c b/src/ipcpd/broadcast/main.c
index 77e22531..d18cac82 100644
--- a/src/ipcpd/broadcast/main.c
+++ b/src/ipcpd/broadcast/main.c
@@ -307,12 +307,13 @@ int main(int argc,
ipcp_sigwait();
if (ipcp_get_state() == IPCP_SHUTDOWN) {
+ ipcp_stop();
stop_components();
finalize_components();
+ } else {
+ ipcp_stop();
}
- ipcp_stop();
-
enroll_fini();
connmgr_fini();