From 279c564d2bb60747e56089658f66e848b7e88f55 Mon Sep 17 00:00:00 2001 From: Frederic Culot Date: Sun, 26 Jul 2009 20:38:35 +0000 Subject: Stop daemon when calcurse enters interactive mode. --- src/dmon.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/dmon.c') diff --git a/src/dmon.c b/src/dmon.c index a52d7a5..0f0aff3 100644 --- a/src/dmon.c +++ b/src/dmon.c @@ -1,4 +1,4 @@ -/* $calcurse: dmon.c,v 1.3 2009/07/26 12:47:15 culot Exp $ */ +/* $calcurse: dmon.c,v 1.4 2009/07/26 20:38:36 culot Exp $ */ /* * Calcurse - text-based organizer @@ -180,3 +180,20 @@ dmon_start (int parent_exit_status) (void)io_fprintln (path_dmon_log, _("awakened at %s\n"), nowstr ()); } } + +/* + * Check if calcurse is running in background, and if yes, send a SIGINT + * signal to stop it. + */ +void +dmon_stop (void) +{ + int dpid; + + dpid = io_get_pid (path_dpid); + if (!dpid) + return; + + if (kill ((pid_t)dpid, SIGINT) < 0) + EXIT (_("Could not stop calcurse daemon: %s\n"), strerror (errno)); +} -- cgit v1.2.3-54-g00ecf