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 + +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