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