From 0f3d1988bfacd86075c7306723ea11d63afa766a Mon Sep 17 00:00:00 2001
From: Lukas Fleischer <lfleischer@calcurse.org>
Date: Fri, 8 Sep 2017 17:52:23 +0200
Subject: Interrupt periodic save when launching process

To avoid interactions between the periodic save thread and external
processes, stop the periodic save thread before launching an external
program and restart the thread as soon as the program is terminated.

Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
---
 src/wins.c | 4 ++++
 1 file changed, 4 insertions(+)

(limited to 'src')

diff --git a/src/wins.c b/src/wins.c
index c121f68..d86b168 100644
--- a/src/wins.c
+++ b/src/wins.c
@@ -575,6 +575,8 @@ void wins_prepare_external(void)
 {
 	if (notify_bar())
 		notify_stop_main_thread();
+	if (conf.periodic_save > 0)
+		io_stop_psave_thread();
 	def_prog_mode();
 	ui_mode = UI_CMDLINE;
 	clear();
@@ -596,6 +598,8 @@ void wins_unprepare_external(void)
 	wins_update(FLAG_ALL);
 	if (notify_bar())
 		notify_start_main_thread();
+	if (conf.periodic_save > 0)
+		io_start_psave_thread();
 }
 
 /*
-- 
cgit v1.2.3-70-g09d2