Fix a test for a crash in SIGALARM handler when waiting on a child process to be closed
This commit is contained in:
parent
e060ac4b3e
commit
8fa8019ea7
@ -0,0 +1,39 @@
|
||||
From 293a533c53d9c0fe939e23c439f4dfc47a5736dc Mon Sep 17 00:00:00 2001
|
||||
From: Tony Cook <tony@develop-help.com>
|
||||
Date: Tue, 25 Jun 2019 15:47:57 +1000
|
||||
Subject: [PATCH] (perl #122112) make sure SIGPIPE is delivered if we test it
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
t/io/pipe.t | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/t/io/pipe.t b/t/io/pipe.t
|
||||
index 9f5bb3bcf8..bdf743c26c 100644
|
||||
--- a/t/io/pipe.t
|
||||
+++ b/t/io/pipe.t
|
||||
@@ -125,6 +125,18 @@ wait; # Collect from $pid
|
||||
pipe(READER,WRITER) || die "Can't open pipe";
|
||||
close READER;
|
||||
|
||||
+eval {
|
||||
+ # one platform at least appears to block SIGPIPE by default (see #122112)
|
||||
+ # so make sure it's unblocked.
|
||||
+ # The eval wrapper should ensure this does nothing if these aren't
|
||||
+ # implemented.
|
||||
+ require POSIX;
|
||||
+ my $mask = POSIX::SigSet->new(POSIX::SIGPIPE());
|
||||
+ my $old = POSIX::SigSet->new();
|
||||
+ POSIX::sigprocmask(POSIX::SIG_UNBLOCK(), $mask, $old);
|
||||
+ note "Yes, SIGPIPE was blocked" if $old->ismember(POSIX::SIGPIPE());
|
||||
+};
|
||||
+
|
||||
$SIG{'PIPE'} = 'broken_pipe';
|
||||
|
||||
sub broken_pipe {
|
||||
--
|
||||
2.20.1
|
||||
|
12
perl.spec
12
perl.spec
@ -83,7 +83,7 @@ License: GPL+ or Artistic
|
||||
Epoch: %{perl_epoch}
|
||||
Version: %{perl_version}
|
||||
# release number must be even higher, because dual-lived modules will be broken otherwise
|
||||
Release: 440%{?dist}
|
||||
Release: 441%{?dist}
|
||||
Summary: Practical Extraction and Report Language
|
||||
Url: https://www.perl.org/
|
||||
Source0: https://www.cpan.org/src/5.0/perl-%{perl_version}.tar.xz
|
||||
@ -215,6 +215,10 @@ Patch37: perl-5.31.0-CAPTURE_ALL-was-intended-to-be-an-alias-for-make-it-
|
||||
Patch38: perl-5.31.0-perl-134193-allow-CAPTURE-to-work-when-CAPTURE-comes.patch
|
||||
Patch39: perl-5.31.0-perl-134193-make-the-varname-match-the-names.patch
|
||||
|
||||
# Fix a test for a crash in SIGALARM handler when waiting on a child process to
|
||||
# be closed, RT#122112, fixed after 5.31.1
|
||||
Patch40: perl-5.31.1-perl-122112-make-sure-SIGPIPE-is-delivered-if-we-tes.patch
|
||||
|
||||
# Link XS modules to libperl.so with EU::CBuilder on Linux, bug #960048
|
||||
Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch
|
||||
|
||||
@ -2772,6 +2776,7 @@ Perl extension for Version Objects
|
||||
%patch37 -p1
|
||||
%patch38 -p1
|
||||
%patch39 -p1
|
||||
%patch40 -p1
|
||||
%patch200 -p1
|
||||
%patch201 -p1
|
||||
|
||||
@ -2818,6 +2823,7 @@ perl -x patchlevel.h \
|
||||
'Fedora Patch37: Fix %%{^CAPTURE_ALL} to be an alias for %%- variable (RT#131867)' \
|
||||
'Fedora Patch38: Fix %%{^CAPTURE} value when used after @{^CAPTURE} (RT#134193)' \
|
||||
'Fedora Patch39: Fix %%{^CAPTURE} value when used after @{^CAPTURE} (RT#134193)' \
|
||||
'Fedora Patch40: Fix a test for a crash in SIGALARM handler when waiting on a child process to be closed (RT#122112)' \
|
||||
'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \
|
||||
'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \
|
||||
%{nil}
|
||||
@ -5063,6 +5069,10 @@ popd
|
||||
|
||||
# Old changelog entries are preserved in CVS.
|
||||
%changelog
|
||||
* Wed Jul 17 2019 Petr Pisar <ppisar@redhat.com> - 4:5.30.0-441
|
||||
- Fix a test for a crash in SIGALARM handler when waiting on a child process to
|
||||
be closed (RT#122112)
|
||||
|
||||
* Tue Jun 25 2019 Petr Pisar <ppisar@redhat.com> - 4:5.30.0-440
|
||||
- Fix an out-of-buffer read while parsing a Unicode property name (RT#134134)
|
||||
- Do not panic when outputting a warning (RT#134059)
|
||||
|
Loading…
Reference in New Issue
Block a user