From b415168a9862023462b7193e83da948cb8d11893 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 11 May 2020 22:13:28 +0200 Subject: patch 8.2.0739: incomplete profiling when exiting because of a dealy signal Problem: Incomplete profiling when exiting because of a dealy signal. Solution: Call __gcov_flush() if available. --- src/os_unix.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/os_unix.c') diff --git a/src/os_unix.c b/src/os_unix.c index b5ae9f868..aea3d5a9e 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -3312,6 +3312,10 @@ exit_scroll(void) } } +#ifdef USE_GCOV_FLUSH +extern void __gcov_flush(); +#endif + void mch_exit(int r) { @@ -3358,6 +3362,12 @@ mch_exit(int r) } out_flush(); ml_close_all(TRUE); // remove all memfiles + +#ifdef USE_GCOV_FLUSH + // Flush coverage info before possibly being killed by a deadly signal. + __gcov_flush(); +#endif + may_core_dump(); #ifdef FEAT_GUI if (gui.in_use) -- cgit v1.2.1