diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-09-27 17:13:28 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-09-27 17:16:44 +0200 |
commit | 186a187be44d20e21dc87954cec23b35fbdc6abf (patch) | |
tree | 130650295693d699f77ec1afde235b11d74bb0a4 /package/xfsprogs/patches/patch-copy_xfs_copy_c | |
parent | 7cf6386b2404150eac8da0b939f639ddf383cdaa (diff) |
xfsprogs: update to 4.7.0
Diffstat (limited to 'package/xfsprogs/patches/patch-copy_xfs_copy_c')
-rw-r--r-- | package/xfsprogs/patches/patch-copy_xfs_copy_c | 82 |
1 files changed, 0 insertions, 82 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 2e98a5f54..000000000 --- a/package/xfsprogs/patches/patch-copy_xfs_copy_c +++ /dev/null @@ -1,82 +0,0 @@ ---- xfsprogs-4.3.0.orig/copy/xfs_copy.c 2015-10-15 23:31:26.000000000 +0200 -+++ xfsprogs-4.3.0/copy/xfs_copy.c 2015-11-27 06:04:00.000000000 +0100 -@@ -236,6 +236,10 @@ handler(int sig) - { - pid_t pid; - int status, i; -+ struct sigaction action; -+ -+ action.sa_handler = handler; -+ action.sa_flags = 0; - - pid = wait(&status); - -@@ -268,7 +272,7 @@ handler(int sig) - pthread_exit(NULL); - } - -- signal(SIGCHLD, handler); -+ sigaction(SIGCHLD, &action, NULL); - return; - } else { - /* it just croaked it bigtime, log it */ -@@ -290,7 +294,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 -@@ -466,6 +470,11 @@ 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++) -@@ -477,9 +486,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); - } - - void -@@ -551,6 +560,12 @@ 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]); - -@@ -892,8 +907,11 @@ 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 */ - |