New release 6.0.0 (#1571489)
Fix multiprocessing regression on newer glibcs (#1569933)
This commit is contained in:
parent
b70eb98951
commit
18c888e5f5
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,3 +5,4 @@
|
||||
/pypy3-v5.9.0-src.tar.bz2
|
||||
/pypy3-v5.10.0-src.tar.bz2
|
||||
/pypy3-v5.10.1-src.tar.bz2
|
||||
/pypy3-v6.0.0-src.tar.bz2
|
||||
|
35
302-fix-multiprocessing-regression-on-newer-glibcs.patch
Normal file
35
302-fix-multiprocessing-regression-on-newer-glibcs.patch
Normal file
@ -0,0 +1,35 @@
|
||||
# HG changeset patch
|
||||
# User Miro Hrončok <miro@hroncok.cz>
|
||||
# Date 1524655710 -7200
|
||||
# Wed Apr 25 13:28:30 2018 +0200
|
||||
# Branch issue33329
|
||||
# Node ID 6501fdc3a80fa2bc3b8c70bfaf94a31c3b3432c0
|
||||
# Parent a07f07034d281bec8c776f9e1ee7c5b9aea74007
|
||||
Fix multiprocessing regression on newer glibcs
|
||||
|
||||
Starting with glibc 2.27.9000-xxx, sigaddset() can return EINVAL for some
|
||||
reserved signal numbers between 1 and NSIG. The `range(1, NSIG)` idiom
|
||||
is commonly used to select all signals for blocking with `pthread_sigmask`.
|
||||
So we ignore the sigaddset() return value until we expose sigfillset()
|
||||
to provide a better idiom.
|
||||
|
||||
Co-authored-by: Antoine Pitrou <antoine@python.org>
|
||||
|
||||
diff -r a07f07034d28 -r 6501fdc3a80f pypy/module/signal/interp_signal.py
|
||||
--- a/pypy/module/signal/interp_signal.py Tue Apr 24 10:00:00 2018 +0200
|
||||
+++ b/pypy/module/signal/interp_signal.py Wed Apr 25 13:28:30 2018 +0200
|
||||
@@ -379,10 +379,10 @@
|
||||
for w_signum in space.unpackiterable(self.w_signals):
|
||||
signum = space.int_w(w_signum)
|
||||
check_signum_in_range(space, signum)
|
||||
- err = c_sigaddset(self.mask, signum)
|
||||
- if err:
|
||||
- raise oefmt(space.w_ValueError,
|
||||
- "signal number %d out of range", signum)
|
||||
+ # bpo-33329: ignore c_sigaddset() return value as it can fail
|
||||
+ # for some reserved signals, but we want the `range(1, NSIG)`
|
||||
+ # idiom to allow selecting all valid signals.
|
||||
+ c_sigaddset(self.mask, signum)
|
||||
return self.mask
|
||||
|
||||
def __exit__(self, *args):
|
16
pypy3.spec
16
pypy3.spec
@ -1,8 +1,8 @@
|
||||
%global basever 5.10
|
||||
%global basever 6.0
|
||||
Name: pypy3
|
||||
Version: %{basever}.1
|
||||
Version: %{basever}.0
|
||||
%global pyversion 3.5
|
||||
Release: 8%{?dist}
|
||||
Release: 1%{?dist}
|
||||
Summary: Python 3 implementation with a Just-In-Time compiler
|
||||
|
||||
# LGPL and another free license we'd need to ask spot about are present in some
|
||||
@ -164,6 +164,12 @@ Patch9: 009-add-libxcrypt-support.patch
|
||||
# It seems ppc64 has no faulthandler
|
||||
Patch11: 011-no-faulthandler.patch
|
||||
|
||||
# Fix multiprocessing regression on newer glibcs
|
||||
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1569933
|
||||
# and: https://bugs.python.org/issue33329
|
||||
# and: https://bitbucket.org/pypy/pypy/pull-requests/607
|
||||
Patch302: 302-fix-multiprocessing-regression-on-newer-glibcs.patch
|
||||
|
||||
# Build-time requirements:
|
||||
|
||||
# pypy's can be rebuilt using itself, rather than with CPython; doing so
|
||||
@ -826,8 +832,10 @@ CheckPyPy %{name}-stackless
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Apr 14 2018 Miro Hrončok <mhroncok@redhat.com> - 5.10.1-8
|
||||
* Wed Apr 25 2018 Miro Hrončok <mhroncok@redhat.com> - 6.0.0-1
|
||||
- Fix failing taskotron check
|
||||
- New release 6.0.0 (#1571489)
|
||||
- Fix multiprocessing regression on newer glibcs (#1569933)
|
||||
|
||||
* Wed Apr 11 2018 Miro Hrončok <mhroncok@redhat.com> - 5.10.1-7
|
||||
- Provide pypy3(abi) = 5.10
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (pypy3-v5.10.1-src.tar.bz2) = 91b0ed25130bdbb46d5e577136b5fe63d5162917dcc2d0b69f5cac2a283ece9d0bfd3c7c8dc61ff391e0550fa1603326f6edeb2df3159d71617fefe6c07439f5
|
||||
SHA512 (pypy3-v6.0.0-src.tar.bz2) = ea406c4dd1837a6ab13026de01330790f3c18f6e2bfb83e8553e52acf78b43dfb559ce75c2d91395055c771db359356c8183ed950da6f01a21bf09128935af5e
|
||||
|
Loading…
Reference in New Issue
Block a user