From d303f057f0eab01f439890d67fde53e487ca3861 Mon Sep 17 00:00:00 2001 From: vemax78 Date: Sun, 24 Nov 2013 23:00:57 +0100 Subject: [PATCH] Free backend management resource after close all sessions --- src/ac/ac_backend.c | 4 +++- src/ac/ac_backend.h | 1 + src/ac/ac_execute.c | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ac/ac_backend.c b/src/ac/ac_backend.c index 8fb01d0..be96687 100644 --- a/src/ac/ac_backend.c +++ b/src/ac/ac_backend.c @@ -665,8 +665,10 @@ void ac_backend_stop(void) { /* Wait close thread */ pthread_join(g_ac_backend.threadid, &dummy); +} - /* */ +/* */ +void ac_backend_free(void) { capwap_event_destroy(&g_ac_backend.wait); capwap_lock_destroy(&g_ac_backend.lock); capwap_lock_destroy(&g_ac_backend.backendlock); diff --git a/src/ac/ac_backend.h b/src/ac/ac_backend.h index 8af85ce..e7f9aa5 100644 --- a/src/ac/ac_backend.h +++ b/src/ac/ac_backend.h @@ -18,6 +18,7 @@ struct ac_notify_reset_t { /* */ int ac_backend_start(void); void ac_backend_stop(void); +void ac_backend_free(void); /* */ int ac_backend_isconnect(void); diff --git a/src/ac/ac_execute.c b/src/ac/ac_execute.c index b543d63..6275a50 100644 --- a/src/ac/ac_execute.c +++ b/src/ac/ac_execute.c @@ -872,6 +872,9 @@ int ac_execute(void) { /* Wait to terminate all sessions */ ac_wait_terminate_allsessions(); + /* Free Backend Management */ + ac_backend_free(); + /* Free memory */ capwap_free(fds); return result;