aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2018-05-15 07:47:33 +0200
committerGitHub <noreply@github.com>2018-05-15 07:47:33 +0200
commitde7a0bdc35922d4f529bd4b28f992177152d4562 (patch)
tree347d323610921d8bf35c760bd839d099dfc35553 /src/nvim/eval.c
parentefb6caa39bbe1152173c3e3d462373d7f8b96b2f (diff)
parent11b55aa004067be95a81b2d1a20634312d405c82 (diff)
downloadrneovim-de7a0bdc35922d4f529bd4b28f992177152d4562.tar.gz
rneovim-de7a0bdc35922d4f529bd4b28f992177152d4562.tar.bz2
rneovim-de7a0bdc35922d4f529bd4b28f992177152d4562.zip
Merge pull request #8383 from bfredl/timercrash
always run timer close callback after due callback
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 126e9e0da9..a3540b3153 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -17039,7 +17039,8 @@ static void timer_stop(timer_T *timer)
time_watcher_close(&timer->tw, timer_close_cb);
}
-// invoked on next event loop tick, so queue is empty
+// This will be run on the main loop after the last timer_due_cb, so at this
+// point it is safe to free the callback.
static void timer_close_cb(TimeWatcher *tw, void *data)
{
timer_T *timer = (timer_T *)data;