47 lines
1007 B
Diff
47 lines
1007 B
Diff
Upstream-Status: Inappropriate [enable feature]
|
|
|
|
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,
|