summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipcpd/normal/main.c')
-rw-r--r--src/ipcpd/normal/main.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/ipcpd/normal/main.c b/src/ipcpd/normal/main.c
index 4eb708b4..34ba52da 100644
--- a/src/ipcpd/normal/main.c
+++ b/src/ipcpd/normal/main.c
@@ -215,22 +215,24 @@ int main(int argc, char * argv[])
pthread_sigmask(SIG_UNBLOCK, &sigset, NULL);
- if (fmgr_init()) {
+ if (ribmgr_init()) {
+ fmgr_fini();
ipcp_fini();
close_logfile();
exit(EXIT_FAILURE);
}
- if (ribmgr_init()) {
+ if (ipcp_create_r(getpid())) {
+ LOG_ERR("Failed to notify IRMd we are initialized.");
fmgr_fini();
ipcp_fini();
close_logfile();
exit(EXIT_FAILURE);
}
- if (ipcp_create_r(getpid())) {
- LOG_ERR("Failed to notify IRMd we are initialized.");
- fmgr_fini();
+ ipcp_wait_state(IPCP_OPERATIONAL, NULL);
+
+ if (fmgr_init()) {
ipcp_fini();
close_logfile();
exit(EXIT_FAILURE);