summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRenato Westphal <renato@openbsd.org>2017-09-27 09:20:51 -0300
committerGitHub <noreply@github.com>2017-09-27 09:20:51 -0300
commitf5129394ecdb0e2c30e280b577f815f612ab1fe0 (patch)
tree715924ac5a41b2a2313174c46764f8611ec3b0d5
parent310f64be9333129002beb0b002741655ae38ab8b (diff)
parent773829844f76f5605e7dc6490e37a674804e2400 (diff)
Merge pull request #1242 from donaldsharp/eigrp_tm
Eigrp tm
-rw-r--r--eigrpd/eigrp_main.c2
-rw-r--r--lib/libfrr.c1
-rw-r--r--lib/thread.c1
3 files changed, 4 insertions, 0 deletions
diff --git a/eigrpd/eigrp_main.c b/eigrpd/eigrp_main.c
index 705e04b34d..c4ca07178c 100644
--- a/eigrpd/eigrp_main.c
+++ b/eigrpd/eigrp_main.c
@@ -100,6 +100,8 @@ static void sigint(void)
{
zlog_notice("Terminating on signal");
eigrp_terminate();
+
+ exit(0);
}
/* SIGUSR1 handler. */
diff --git a/lib/libfrr.c b/lib/libfrr.c
index 3e2e008223..d5078f98aa 100644
--- a/lib/libfrr.c
+++ b/lib/libfrr.c
@@ -886,6 +886,7 @@ void frr_fini(void)
zprivs_terminate(di->privs);
/* signal_init -> nothing needed */
thread_master_free(master);
+ master = NULL;
closezlog();
/* frrmod_init -> nothing needed / hooks */
diff --git a/lib/thread.c b/lib/thread.c
index 621eed0ff0..a69bd2f0d5 100644
--- a/lib/thread.c
+++ b/lib/thread.c
@@ -571,6 +571,7 @@ void thread_master_free(struct thread_master *m)
close(m->io_pipe[0]);
close(m->io_pipe[1]);
list_delete(m->cancel_req);
+ m->cancel_req = NULL;
hash_clean(m->cpu_record, cpu_record_hash_free);
hash_free(m->cpu_record);