parent
38b55b905a
commit
6856f45178
2 changed files with 5 additions and 21 deletions
|
@ -1,20 +0,0 @@
|
||||||
Make sure sval is set before comparing it with self->maxvalue.
|
|
||||||
Compare only if the return value was zero.
|
|
||||||
This fixes "ValueError: semaphore or lock released too many times"
|
|
||||||
which occured only for i686.
|
|
||||||
|
|
||||||
--- Modules/_multiprocessing/semaphore.c 2016-12-17 21:05:07.000000000 +0100
|
|
||||||
+++ Modules/_multiprocessing/semaphore.c 2016-12-31 17:42:30.429238082 +0100
|
|
||||||
@@ -382,9 +382,10 @@
|
|
||||||
|
|
||||||
/* This check is not an absolute guarantee that the semaphore
|
|
||||||
does not rise above maxvalue. */
|
|
||||||
+ int res = sem_getvalue(self->handle, &sval);
|
|
||||||
- if (sem_getvalue(self->handle, &sval) < 0) {
|
|
||||||
+ if (res < 0) {
|
|
||||||
return PyErr_SetFromErrno(PyExc_OSError);
|
|
||||||
- } else if (sval >= self->maxvalue) {
|
|
||||||
+ } else if (res == 0 && sval >= self->maxvalue) {
|
|
||||||
PyErr_SetString(PyExc_ValueError, "semaphore or lock "
|
|
||||||
"released too many times");
|
|
||||||
return NULL;
|
|
|
@ -4,7 +4,7 @@
|
||||||
#
|
#
|
||||||
pkgname=python
|
pkgname=python
|
||||||
version=2.7.13
|
version=2.7.13
|
||||||
revision=4
|
revision=5
|
||||||
wrksrc="Python-${version}"
|
wrksrc="Python-${version}"
|
||||||
hostmakedepends="pkg-config"
|
hostmakedepends="pkg-config"
|
||||||
makedepends="
|
makedepends="
|
||||||
|
@ -26,6 +26,10 @@ alternatives="
|
||||||
python:python:/usr/bin/python2.7
|
python:python:/usr/bin/python2.7
|
||||||
python:python.1:/usr/share/man/man1/python2.7.1"
|
python:python.1:/usr/share/man/man1/python2.7.1"
|
||||||
|
|
||||||
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
i686*) CFLAGS="-DHAVE_BROKEN_SEM_GETVALUE=1" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
pre_configure() {
|
pre_configure() {
|
||||||
# Ensure that internal copies of expat, libffi and zlib are not used.
|
# Ensure that internal copies of expat, libffi and zlib are not used.
|
||||||
rm -r Modules/expat
|
rm -r Modules/expat
|
||||||
|
|
Loading…
Reference in a new issue