diff options
Diffstat (limited to 'package/fuse/patches/300-workaround-uclibc-pthread-breakage.patch')
-rw-r--r-- | package/fuse/patches/300-workaround-uclibc-pthread-breakage.patch | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/package/fuse/patches/300-workaround-uclibc-pthread-breakage.patch b/package/fuse/patches/300-workaround-uclibc-pthread-breakage.patch deleted file mode 100644 index a7d0c0ad2a..0000000000 --- a/package/fuse/patches/300-workaround-uclibc-pthread-breakage.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/lib/helper.c -+++ b/lib/helper.c -@@ -180,13 +180,41 @@ err: - int fuse_daemonize(int foreground) - { - int res; -+ int fd; - - if (!foreground) { -- res = daemon(0, 0); -+ /* uClibc daemon() has problems with pthread and friends */ -+ /* workaround from http://www.mail-archive.com/uclibc@uclibc.org/msg01073.html */ -+ /* res = daemon(0, 0); */ -+ switch (res = fork()) { -+ case -1: -+ return(-1); -+ case 0: -+ break; -+ default: -+ _exit(0); -+ } -+ - if (res == -1) { -- perror("fuse: failed to daemonize program\n"); -+ perror("fuse: failed to fork()\n"); - return -1; - } -+ -+ res=setsid(); -+ -+ if (res == -1) { -+ perror("fuse: failed to setsid()\n"); -+ } -+ -+ chdir("/"); -+ -+ if (fd = open("/dev/null", O_RDWR, 0) != -1) { -+ dup2(fd, STDIN_FILENO); -+ dup2(fd, STDOUT_FILENO); -+ dup2(fd, STDERR_FILENO); -+ if (fd > 2) -+ close(fd); -+ } - } - return 0; - } |