[packages/python-greenlet] - up to 0.4.5

arekm arekm at pld-linux.org
Sun Oct 19 23:19:46 CEST 2014


commit 961cf9e4e5caef9a7b40f75635825cab9c7e7a2a
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Sun Oct 19 23:19:43 2014 +0200

    - up to 0.4.5

 python-greenlet-gc_assertion_error.patch | 89 --------------------------------
 python-greenlet.spec                     | 10 ++--
 2 files changed, 4 insertions(+), 95 deletions(-)
---
diff --git a/python-greenlet.spec b/python-greenlet.spec
index aa9dec7..d33622e 100644
--- a/python-greenlet.spec
+++ b/python-greenlet.spec
@@ -12,14 +12,13 @@
 %define 	module	greenlet
 Summary:	Lightweight in-process concurrent programming
 Name:		python-%{module}
-Version:	0.4.2
-Release:	2
+Version:	0.4.5
+Release:	1
 License:	MIT & PSF
 Group:		Libraries/Python
 URL:		http://pypi.python.org/pypi/greenlet
 Source0:	http://pypi.python.org/packages/source/g/greenlet/%{module}-%{version}.zip
-# Source0-md5:	580a8a5e833351f7abdaedb1a877f7ac
-Patch0:		%{name}-gc_assertion_error.patch
+# Source0-md5:	ce383f6475e6311cf8932ea779938703
 %if %{with python2}
 BuildRequires:	python-devel
 BuildRequires:	python-setuptools
@@ -68,7 +67,6 @@ This package contains header files required for C modules development.
 
 %prep
 %setup -q -n greenlet-%{version}
-%patch0 -p1
 
 %build
 %if %{with python2}
@@ -93,7 +91,7 @@ CFLAGS="%{rpmcflags}" \
 %if %{with tests}
 # Run the upstream benchmarking suite to further exercise the code:
 mkdir -p benchmarks-3
-2to3-3.3 -o benchmarks-3 -n -w --no-diffs benchmarks
+2to3-3.4 -o benchmarks-3 -n -w --no-diffs benchmarks
 PYTHONPATH=$(echo $(pwd)/build/lib.*-3.?) %{__python3} benchmarks-3/chain.py
 %endif
 %endif
diff --git a/python-greenlet-gc_assertion_error.patch b/python-greenlet-gc_assertion_error.patch
deleted file mode 100644
index 4290fdc..0000000
--- a/python-greenlet-gc_assertion_error.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-commit b24bde4302b0f85aa1bc0382299d41923eab614e
-Author: Alexey Borzenkov <snaury at gmail.com>
-Date:   Fri Feb 21 22:32:13 2014 +0400
-
-    green_dealloc: don't use trashcan on non-GC'ible greenlets
-    
-    There's an assert in Python's object.c that checks trashcan
-    is only used for garbage collectible objects. Since not all
-    greenlets are garbage collectible trashcan use must be
-    conditional.
-
-diff --git a/greenlet.c b/greenlet.c
-index c99f13f..580bf7d 100644
---- a/greenlet.c
-+++ b/greenlet.c
-@@ -941,14 +941,10 @@ static int green_clear(PyGreenlet* self)
- }
- #endif
- 
--static void green_dealloc(PyGreenlet* self)
-+static void green_dealloc_safe(PyGreenlet* self)
- {
- 	PyObject *error_type, *error_value, *error_traceback;
- 
--#if GREENLET_USE_GC
--	PyObject_GC_UnTrack((PyObject *)self);
--	Py_TRASHCAN_SAFE_BEGIN(self);
--#endif /* GREENLET_USE_GC */
- 	if (PyGreenlet_ACTIVE(self) && self->run_info != NULL && !PyGreenlet_MAIN(self)) {
- 		/* Hacks hacks hacks copied from instance_dealloc() */
- 		/* Temporarily resurrect the greenlet. */
-@@ -995,7 +991,7 @@ static void green_dealloc(PyGreenlet* self)
- 			--Py_TYPE(self)->tp_frees;
- 			--Py_TYPE(self)->tp_allocs;
- #endif /* COUNT_ALLOCS */
--			goto green_dealloc_end;
-+			return;
- 		}
- 	}
- 	if (self->weakreflist != NULL)
-@@ -1007,12 +1003,24 @@ static void green_dealloc(PyGreenlet* self)
- 	Py_CLEAR(self->exc_traceback);
- 	Py_CLEAR(self->dict);
- 	Py_TYPE(self)->tp_free((PyObject*) self);
--green_dealloc_end:
-+}
-+
- #if GREENLET_USE_GC
--	Py_TRASHCAN_SAFE_END(self);
--#endif /* GREENLET_USE_GC */
--	return;
-+static void green_dealloc(PyGreenlet* self)
-+{
-+	PyObject_GC_UnTrack((PyObject *)self);
-+	if (PyObject_IS_GC(self)) {
-+		Py_TRASHCAN_SAFE_BEGIN(self);
-+		green_dealloc_safe(self);
-+		Py_TRASHCAN_SAFE_END(self);
-+	} else {
-+		/* This object cannot be garbage collected, so trashcan is not allowed */
-+		green_dealloc_safe(self);
-+	}
- }
-+#else
-+#define green_dealloc green_dealloc_safe
-+#endif
- 
- static PyObject* single_result(PyObject* results)
- {
-
-commit 07b799de4e8f12a5cada4124184c772340a8c675 (HEAD, origin/master, origin/HEAD, master)
-Author: Alexey Borzenkov <snaury at gmail.com>
-Date:   Fri Feb 21 22:43:10 2014 +0400
-
-    green_dealloc: cast to PyObject * in PyObject_IS_GC
-
-diff --git a/greenlet.c b/greenlet.c
-index 580bf7d..a1a27c0 100644
---- a/greenlet.c
-+++ b/greenlet.c
-@@ -1009,7 +1009,7 @@ static void green_dealloc_safe(PyGreenlet* self)
- static void green_dealloc(PyGreenlet* self)
- {
- 	PyObject_GC_UnTrack((PyObject *)self);
--	if (PyObject_IS_GC(self)) {
-+	if (PyObject_IS_GC((PyObject *)self)) {
- 		Py_TRASHCAN_SAFE_BEGIN(self);
- 		green_dealloc_safe(self);
- 		Py_TRASHCAN_SAFE_END(self);
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-greenlet.git/commitdiff/961cf9e4e5caef9a7b40f75635825cab9c7e7a2a



More information about the pld-cvs-commit mailing list