diff --git a/libstats/include/stats_event_list.h b/libstats/include/stats_event_list.h index 28da27072..a9832db29 100644 --- a/libstats/include/stats_event_list.h +++ b/libstats/include/stats_event_list.h @@ -25,6 +25,7 @@ extern "C" { void reset_log_context(android_log_context ctx); int write_to_logger(android_log_context context, log_id_t id); void note_log_drop(); +void stats_log_close(); #ifdef __cplusplus } diff --git a/libstats/stats_event_list.c b/libstats/stats_event_list.c index 51408e071..735088a37 100644 --- a/libstats/stats_event_list.c +++ b/libstats/stats_event_list.c @@ -123,6 +123,14 @@ void note_log_drop() { statsdLoggerWrite.noteDrop(); } +void stats_log_close() { + statsd_writer_init_lock(); + if (statsdLoggerWrite.close) { + (*statsdLoggerWrite.close)(); + } + statsd_writer_init_unlock(); +} + /* log_init_lock assumed */ static int __write_to_statsd_initialize_locked() { if (!statsdLoggerWrite.open || ((*statsdLoggerWrite.open)() < 0)) {