From 8a1bcf0fa623e2d4ac9b2f8198d5c097e48b7c97 Mon Sep 17 00:00:00 2001 From: switch_st Date: Mon, 20 Jul 2020 12:08:13 +0800 Subject: [PATCH] close trace file if needed --- include/n2n.h | 1 + src/edge_utils.c | 2 ++ src/n2n.c | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/include/n2n.h b/include/n2n.h index 5986de2..c3073da 100644 --- a/include/n2n.h +++ b/include/n2n.h @@ -398,6 +398,7 @@ void setTraceLevel(int level); void setUseSyslog(int use_syslog); void setTraceFile(FILE *f); int getTraceLevel(); +void closeTraceFile(); void traceEvent(int eventTraceLevel, char* file, int line, char * format, ...); /* Tuntap API */ diff --git a/src/edge_utils.c b/src/edge_utils.c index e6cd84f..47e86c2 100644 --- a/src/edge_utils.c +++ b/src/edge_utils.c @@ -1982,6 +1982,8 @@ void edge_term(n2n_edge_t * eee) { edge_cleanup_routes(eee); + closeTraceFile(); + free(eee); } diff --git a/src/n2n.c b/src/n2n.c index 8924680..7d57cf6 100644 --- a/src/n2n.c +++ b/src/n2n.c @@ -82,6 +82,12 @@ void setTraceFile(FILE *f) { traceFile = f; } +void closeTraceFile() { + if (traceFile != NULL && traceFile != stdout) { + fclose(traceFile); + } +} + #define N2N_TRACE_DATESIZE 32 void traceEvent(int eventTraceLevel, char* file, int line, char * format, ...) { va_list va_ap;