From 0d74c14fd19adcf87103b1fc8815c1901ea9f67a Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Wed, 19 Oct 2016 18:17:08 +0200 Subject: Do not start the daemon more than once Avoid starting multiple daemon instances if the --daemon argument is passed and the daemon is already running. Terminate the already running instance before spawning a new one instead. Suggested-by: Vlad Glagolev Signed-off-by: Lukas Fleischer --- doc/calcurse.1.txt | 2 +- doc/manual.txt | 4 ++-- src/args.c | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/calcurse.1.txt b/doc/calcurse.1.txt index 6909808..2129350 100644 --- a/doc/calcurse.1.txt +++ b/doc/calcurse.1.txt @@ -97,7 +97,7 @@ today, tomorrow, and the day after tomorrow. The first form is equivalent to appointments can be specified using the *-c* flag. *--daemon*:: - Start calcurse in background mode. + Start calcurse in background mode. Restart if the daemon was already running. *--days* :: Specify the length of the range (in days) when used with *-Q*. Cannot be diff --git a/doc/manual.txt b/doc/manual.txt index 3883a55..407b63b 100644 --- a/doc/manual.txt +++ b/doc/manual.txt @@ -201,8 +201,8 @@ Note: as for the `-a` flag, the calendar from which to read the appointments can be specified using the `-c` flag. `--daemon`:: - Start calcurse in background mode. See <> for - details. + Start calcurse in background mode. Restart if the daemon was already running. + See <> for details. `--days `:: Specify the length of the range (in days) when used with `-Q`. Cannot be diff --git a/src/args.c b/src/args.c index afb4bfc..f4eaba7 100644 --- a/src/args.c +++ b/src/args.c @@ -803,6 +803,7 @@ int parse_args(int argc, char **argv) io_export_data(xfmt, export_uid); } else if (daemon) { notify_init_vars(); + dmon_stop(); dmon_start(0); } else { /* interactive mode */ -- cgit v1.2.3-70-g09d2