diff -up evolution-3.8.5/calendar/alarm-notify/notify-main.c.restore-restarts-processes evolution-3.8.5/calendar/alarm-notify/notify-main.c
--- evolution-3.8.5/calendar/alarm-notify/notify-main.c.restore-restarts-processes 2013-07-23 14:52:26.000000000 +0200
+++ evolution-3.8.5/calendar/alarm-notify/notify-main.c 2014-12-05 10:34:21.187168876 +0100
@@ -46,6 +46,18 @@
#include "e-util/e-util-private.h"
+#ifdef G_OS_UNIX
+#include <glib-unix.h>
+
+static gboolean
+handle_term_signal (gpointer data)
+{
+ g_application_quit (data);
+
+ return FALSE;
+}
+#endif
+
gint
main (gint argc,
gchar **argv)
@@ -114,6 +126,12 @@ main (gint argc,
return 0;
}
+#ifdef G_OS_UNIX
+ g_unix_signal_add_full (
+ G_PRIORITY_DEFAULT, SIGTERM,
+ handle_term_signal, alarm_notify_service, NULL);
+#endif
+
exit_status = g_application_run (
G_APPLICATION (alarm_notify_service), argc, argv);
diff -up evolution-3.8.5/modules/backup-restore/evolution-backup-tool.c.restore-restarts-processes evolution-3.8.5/modules/backup-restore/evolution-backup-tool.c
--- evolution-3.8.5/modules/backup-restore/evolution-backup-tool.c.restore-restarts-processes 2013-07-23 14:51:42.000000000 +0200
+++ evolution-3.8.5/modules/backup-restore/evolution-backup-tool.c 2014-12-05 10:34:21.187168876 +0100
@@ -684,6 +684,9 @@ restore (const gchar *filename,
if (g_cancellable_is_cancelled (cancellable))
return;
+ /* Make full-restart background processes after restore */
+ run_cmd (EVOLUTION " --force-shutdown");
+
txt = _("Reloading registry service");
/* wait few seconds, till changes settle */
diff -up evolution-3.8.5/shell/killev.c.restore-restarts-processes evolution-3.8.5/shell/killev.c
--- evolution-3.8.5/shell/killev.c.restore-restarts-processes 2013-07-23 14:52:25.000000000 +0200
+++ evolution-3.8.5/shell/killev.c 2014-12-05 10:34:21.187168876 +0100
@@ -166,6 +166,10 @@ main (gint argc,
kill:
#ifdef KILL_PROCESS_CMD
system (KILL_PROCESS_CMD " -QUIT evolution 2> /dev/null");
+ system (KILL_PROCESS_CMD " -TERM evolution-alarm-notify 2> /dev/null");
+ system (KILL_PROCESS_CMD " -QUIT evolution-source-registry 2> /dev/null");
+ system (KILL_PROCESS_CMD " -QUIT evolution-addressbook-factory 2> /dev/null");
+ system (KILL_PROCESS_CMD " -QUIT evolution-calendar-factory 2> /dev/null");
#else
g_printerr ("No \"kill\" command available.\n");
#endif