summaryrefslogtreecommitdiff
path: root/mail/milter-manager/patches/patch-milter_manager_milter-manager-main.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/milter-manager/patches/patch-milter_manager_milter-manager-main.c')
-rw-r--r--mail/milter-manager/patches/patch-milter_manager_milter-manager-main.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/mail/milter-manager/patches/patch-milter_manager_milter-manager-main.c b/mail/milter-manager/patches/patch-milter_manager_milter-manager-main.c
new file mode 100644
index 00000000000..3815073f674
--- /dev/null
+++ b/mail/milter-manager/patches/patch-milter_manager_milter-manager-main.c
@@ -0,0 +1,37 @@
+$NetBSD: patch-milter_manager_milter-manager-main.c,v 1.1 2011/05/12 11:28:11 obache Exp $
+
+[manager][process-launcher] fix a bug that process launcher isn't quitted.
+https://github.com/milter-manager/milter-manager/commit/6803264e130cb562f972d57ae9d2fcd6e51310fd
+
+--- milter/manager/milter-manager-main.c.orig 2011-04-03 01:56:52.000000000 +0000
++++ milter/manager/milter-manager-main.c
+@@ -315,6 +315,16 @@ prepare_process_launcher_pipes_for_manag
+ *read_channel = create_read_io_channel(reply_pipe[MILTER_UTILS_READ_PIPE]);
+ }
+
++static void
++cb_launcher_finished (MilterFinishedEmittable *emittable,
++ gpointer user_data)
++{
++ MilterManagerProcessLauncher *launcher;
++
++ launcher = MILTER_MANAGER_PROCESS_LAUNCHER(emittable);
++ milter_manager_process_launcher_shutdown(launcher);
++}
++
+ static gboolean
+ start_process_launcher (GIOChannel *read_channel, GIOChannel *write_channel,
+ gboolean daemon)
+@@ -360,8 +370,11 @@ start_process_launcher (GIOChannel *read
+ success = FALSE;
+ }
+
+- if (success)
++ if (success) {
++ g_signal_connect(launcher, "finished",
++ G_CALLBACK(cb_launcher_finished), NULL);
+ milter_manager_process_launcher_run(launcher);
++ }
+
+ g_object_unref(launcher);
+