diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2022-07-08 16:55:51 +0200 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2022-07-13 08:56:02 +0200 |
commit | 763227aee4a3d86e718c3665fe5fa13055f67f03 (patch) | |
tree | 837a603731335d950e45e7bc2aada9d2448d7a6b /src/ipcpd/broadcast/main.c | |
parent | b9d674dc5a63b0206d96ff67366ed84c6d5d2962 (diff) | |
download | ouroboros-763227aee4a3d86e718c3665fe5fa13055f67f03.tar.gz ouroboros-763227aee4a3d86e718c3665fe5fa13055f67f03.zip |
ipcpd: Refactor main functions
The structure of main functions of the IPCPs was a bit strange with a
ipcp_shutdown() call that combined waiting for a terminating signal
with stopping the internal threads. This is now revised into a
symmetrical design of
ipcp_start(), which now includes the create response towards the IRMd.
ipcp_sigwait(), which waits for a shutdown signal
ipcp_stop() that then stops the internal threads.
Now the main() functions of the IPCPs will make sense without checking
what that ipcp_shutdown() functions actually does.
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.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/ipcpd/broadcast/main.c b/src/ipcpd/broadcast/main.c index fdd3ca99..4dc2f877 100644 --- a/src/ipcpd/broadcast/main.c +++ b/src/ipcpd/broadcast/main.c @@ -295,24 +295,20 @@ int main(int argc, goto fail_enroll_init; } - if (ipcp_boot() < 0) { + if (ipcp_start() < 0) { log_err("Failed to boot IPCP."); - goto fail_boot; - } - - if (ipcp_create_r(0)) { - log_err("Failed to notify IRMd we are initialized."); - ipcp_set_state(IPCP_NULL); - goto fail_create_r; + goto fail_start; } - ipcp_shutdown(); + ipcp_sigwait(); if (ipcp_get_state() == IPCP_SHUTDOWN) { stop_components(); finalize_components(); } + ipcp_stop(); + enroll_fini(); connmgr_fini(); @@ -323,9 +319,7 @@ int main(int argc, exit(EXIT_SUCCESS); - fail_create_r: - ipcp_shutdown(); - fail_boot: + fail_start: enroll_fini(); fail_enroll_init: connmgr_fini(); @@ -334,6 +328,5 @@ int main(int argc, fail_notifier_init: ipcp_fini(); fail_init: - ipcp_create_r(-1); exit(EXIT_FAILURE); } |