aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-09-25 08:07:51 +0200
committerGitHub <noreply@github.com>2018-09-25 08:07:51 +0200
commit7862c3ae3ecffdcd7bbd3c63e72d272ccd37db1a (patch)
treebf42264a394ade295f97f3d876c471ff54cdca32 /src
parent7bff9a5de842a71e3faf9494444aa6482dd7dbee (diff)
parentd59bf058ab8af0321932fa7be995cbc172379700 (diff)
downloadrneovim-7862c3ae3ecffdcd7bbd3c63e72d272ccd37db1a.tar.gz
rneovim-7862c3ae3ecffdcd7bbd3c63e72d272ccd37db1a.tar.bz2
rneovim-7862c3ae3ecffdcd7bbd3c63e72d272ccd37db1a.zip
Merge #9047 from jamessan/log-crash
Diffstat (limited to 'src')
-rw-r--r--src/nvim/log.c6
-rw-r--r--src/nvim/os_unix.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/nvim/log.c b/src/nvim/log.c
index 578217db41..719f0da340 100644
--- a/src/nvim/log.c
+++ b/src/nvim/log.c
@@ -109,6 +109,12 @@ bool logmsg(int log_level, const char *context, const char *func_name,
return false;
}
+#ifdef EXITFREE
+ // Logging after we've already started freeing all our memory will only cause
+ // pain. We need access to VV_PROGPATH, homedir, etc.
+ assert(!entered_free_all_mem);
+#endif
+
log_lock();
bool ret = false;
FILE *log_file = open_log_file();
diff --git a/src/nvim/os_unix.c b/src/nvim/os_unix.c
index 27660712da..09ba718302 100644
--- a/src/nvim/os_unix.c
+++ b/src/nvim/os_unix.c
@@ -149,11 +149,12 @@ void mch_exit(int r)
stream_set_blocking(input_global_fd(), true); // normalize stream (#2598)
}
+ ILOG("Nvim exit: %d", r);
+
#ifdef EXITFREE
free_all_mem();
#endif
- ILOG("Nvim exit: %d", r);
exit(r);
}