From 0f041c04ea364326c4206b94724bf2944d3d2129 Mon Sep 17 00:00:00 2001 From: dimitri staessens Date: Wed, 4 Jan 2017 18:20:39 +0100 Subject: ipcpd: Revert normal IPCP state correctly The state of the IPCP should revert to INIT when pthread_create fails in the normal and bootstrapping procedures. --- src/ipcpd/normal/main.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/ipcpd/normal') diff --git a/src/ipcpd/normal/main.c b/src/ipcpd/normal/main.c index 8d319894..8db754aa 100644 --- a/src/ipcpd/normal/main.c +++ b/src/ipcpd/normal/main.c @@ -187,6 +187,7 @@ static int normal_ipcp_enroll(char * dst_name) LOG_WARN("Failed to finalize flow manager."); if (ribmgr_fini()) LOG_WARN("Failed to finalize RIB manager."); + ipcp_set_state(IPCP_INIT); pthread_rwlock_unlock(&ipcpi.state_lock); LOG_ERR("Failed to create acceptor thread."); return -1; @@ -269,6 +270,7 @@ static int normal_ipcp_bootstrap(struct dif_config * conf) LOG_WARN("Failed to finalize flow manager."); if (ribmgr_fini()) LOG_WARN("Failed to finalize RIB manager."); + ipcp_set_state(IPCP_INIT); pthread_rwlock_unlock(&ipcpi.state_lock); LOG_ERR("Failed to create acceptor thread."); return -1; -- cgit v1.2.3