summaryrefslogtreecommitdiff
path: root/package/xfsprogs/patches/patch-copy_xfs_copy_c
diff options
context:
space:
mode:
Diffstat (limited to 'package/xfsprogs/patches/patch-copy_xfs_copy_c')
-rw-r--r--package/xfsprogs/patches/patch-copy_xfs_copy_c80
1 files changed, 0 insertions, 80 deletions
diff --git a/package/xfsprogs/patches/patch-copy_xfs_copy_c b/package/xfsprogs/patches/patch-copy_xfs_copy_c
deleted file mode 100644
index f5205398e..000000000
--- a/package/xfsprogs/patches/patch-copy_xfs_copy_c
+++ /dev/null
@@ -1,80 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- xfsprogs-3.0.0.orig/copy/xfs_copy.c 2009-02-04 23:29:25.000000000 +0100
-+++ xfsprogs-3.0.0/copy/xfs_copy.c 2009-03-27 11:40:33.000000000 +0100
-@@ -240,7 +240,10 @@ handler(int sig)
- {
- pid_t pid = getpid();
- int status, i;
-+ struct sigaction action;
-
-+ action.sa_handler = handler;
-+ action.sa_flags = 0;
- pid = wait(&status);
-
- kids--;
-@@ -272,7 +275,7 @@ handler(int sig)
- pthread_exit(NULL);
- }
-
-- signal(SIGCHLD, handler);
-+ sigaction(SIGCHLD, &action, NULL);
- return;
- } else {
- /* it just croaked it bigtime, log it */
-@@ -294,7 +297,7 @@ handler(int sig)
- do_warn(_("%s: Unknown child died (should never happen!)\n"), progname);
- die_perror();
- pthread_exit(NULL);
-- signal(SIGCHLD, handler);
-+ sigaction(SIGCHLD, &action, NULL);
- }
-
- void
-@@ -467,6 +470,10 @@ void
- write_wbuf(void)
- {
- int i;
-+ sigset_t unblock, initial;
-+
-+ sigemptyset(&unblock);
-+ sigaddset(&unblock, SIGCHLD);
-
- /* verify target threads */
- for (i = 0; i < num_targets; i++)
-@@ -478,9 +485,9 @@ write_wbuf(void)
- if (target[i].state != INACTIVE)
- pthread_mutex_unlock(&targ[i].wait); /* wake up */
-
-- sigrelse(SIGCHLD);
-+ sigprocmask(SIG_UNBLOCK, &unblock, &initial);
- pthread_mutex_lock(&mainwait);
-- sighold(SIGCHLD);
-+ sigprocmask(SIG_SETMASK, &initial, NULL);
- }
-
-
-@@ -521,6 +528,11 @@ main(int argc, char **argv)
- libxfs_init_t xargs;
- thread_args *tcarg;
- struct stat64 statbuf;
-+ struct sigaction saction;
-+ sigset_t sigblock, initial;
-+
-+ saction.sa_handler = handler;
-+ saction.sa_flags = 0;
-
- progname = basename(argv[0]);
-
-@@ -846,8 +858,10 @@ main(int argc, char **argv)
-
- /* set up sigchild signal handler */
-
-- signal(SIGCHLD, handler);
-- sighold(SIGCHLD);
-+ sigaction(SIGCHLD, &saction, NULL);
-+ sigemptyset(&sigblock);
-+ sigaddset(&sigblock, SIGCHLD);
-+ sigprocmask(SIG_BLOCK, &sigblock, &initial);
-
- /* make children */
-