aboutsummaryrefslogtreecommitdiffstats
path: root/meta/packages/clipboard-manager/files/daemonize.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/clipboard-manager/files/daemonize.patch')
-rw-r--r--meta/packages/clipboard-manager/files/daemonize.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/meta/packages/clipboard-manager/files/daemonize.patch b/meta/packages/clipboard-manager/files/daemonize.patch
new file mode 100644
index 0000000000..51ce4781a5
--- /dev/null
+++ b/meta/packages/clipboard-manager/files/daemonize.patch
@@ -0,0 +1,44 @@
+Index: 0.6.4/manager.c
+===================================================================
+--- 0.6.4.orig/manager.c 2007-06-28 12:23:37.000000000 +0100
++++ 0.6.4/manager.c 2007-06-28 12:36:14.000000000 +0100
+@@ -68,7 +68,8 @@
+ ClipboardManager *manager;
+ int terminated = False;
+ Display *display;
+-
++ pid_t pid;
++
+ display = XOpenDisplay (NULL);
+
+ if (!display)
+@@ -83,6 +84,29 @@
+ exit (1);
+ }
+
++ /* deamonize */
++ pid = fork();
++ switch (pid)
++ {
++ case -1: fprintf (stderr, "Fork failed.\n");
++ /* Fall through */
++ default: exit(0); break;
++ case 0: break;
++ }
++
++ chdir ("/");
++ setsid ();
++ umask (0);
++
++ pid = fork();
++ switch (pid)
++ {
++ case -1: fprintf (stderr, "Fork failed.\n");
++ /* Fall through */
++ default: exit(0); break;
++ case 0: break;
++ }
++
+ XSetErrorHandler (x_error);
+ manager = clipboard_manager_new (display,
+ error_trap_push, error_trap_pop,