summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/irmd/main.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/irmd/main.c b/src/irmd/main.c
index 62c1cc61..a7c2bd4c 100644
--- a/src/irmd/main.c
+++ b/src/irmd/main.c
@@ -292,6 +292,7 @@ static pid_t create_ipcp(char * name,
struct timespec dl;
struct timespec to = {SOCKET_TIMEOUT / 1000,
(SOCKET_TIMEOUT % 1000) * MILLION};
+ pid_t ipcp_pid;
api = malloc(sizeof(*api));
if (api == NULL)
@@ -344,6 +345,7 @@ static pid_t create_ipcp(char * name,
tmp->type = ipcp_type;
tmp->init_state = IPCP_BOOT;
tmp->dir_hash_algo = -1;
+ ipcp_pid = tmp->api;
list_for_each(p, &irmd.ipcps) {
struct ipcp_entry * e = list_entry(p, struct ipcp_entry, next);
@@ -372,15 +374,15 @@ static pid_t create_ipcp(char * name,
tmp->init_state = IPCP_NULL;
pthread_cond_signal(&tmp->init_cond);
pthread_mutex_unlock(&tmp->init_lock);
- log_err("IPCP %d failed to respond.", tmp->api);
+ log_err("IPCP %d failed to respond.", ipcp_pid);
return -1;
}
pthread_mutex_unlock(&tmp->init_lock);
- log_info("Created IPCP %d.", tmp->api);
+ log_info("Created IPCP %d.", ipcp_pid);
- return api->pid;
+ return ipcp_pid;
}
static int create_ipcp_r(pid_t api,