Commit 6c26ac16 authored by Jason Madden's avatar Jason Madden

Update to greenlet 0.4.14. Fixes #1260.

parent 84ef1f92
...@@ -7,7 +7,10 @@ ...@@ -7,7 +7,10 @@
1.3.6 (unreleased) 1.3.6 (unreleased)
================== ==================
- Nothing changed yet. - gevent now depends on greenlet 0.4.14 or above. gevent binary wheels
for 1.3.5 and below must have greenlet 0.4.13 installed on Python
3.7 or they will crash. Reported by Alexey Stepanov in :issue:`1260`
and pkittenis in :issue:`1261`.
1.3.5 (2018-07-16) 1.3.5 (2018-07-16)
......
...@@ -7,8 +7,8 @@ wheel ...@@ -7,8 +7,8 @@ wheel
# at the same time. # at the same time.
Cython >= 0.28.1 Cython >= 0.28.1
# Python 3.7b1 requires this. # Python 3.7 requires at least 0.4.14, which is ABI incompatible with earlier
greenlet>=0.4.13 ; platform_python_implementation == "CPython" greenlet>=0.4.14 ; platform_python_implementation == "CPython"
pylint>=1.8.0 ; python_version < "3.4" pylint>=1.8.0 ; python_version < "3.4"
pylint >= 2.0.0.dev2 ; python_version >= "3.4" pylint >= 2.0.0.dev2 ; python_version >= "3.4"
# pylint 2 needs astroid 2; unfortunately, it uses `typed_ast` # pylint 2 needs astroid 2; unfortunately, it uses `typed_ast`
......
...@@ -11,7 +11,11 @@ ...@@ -11,7 +11,11 @@
extern "C" { extern "C" {
#endif #endif
#define GREENLET_VERSION "0.4.13" #define GREENLET_VERSION "0.4.14"
#if PY_VERSION_HEX >= 0x030700A3
# define GREENLET_USE_EXC_INFO
#endif
typedef struct _greenlet { typedef struct _greenlet {
PyObject_HEAD PyObject_HEAD
...@@ -25,9 +29,14 @@ typedef struct _greenlet { ...@@ -25,9 +29,14 @@ typedef struct _greenlet {
struct _frame* top_frame; struct _frame* top_frame;
int recursion_depth; int recursion_depth;
PyObject* weakreflist; PyObject* weakreflist;
#ifdef GREENLET_USE_EXC_INFO
_PyErr_StackItem* exc_info;
_PyErr_StackItem exc_state;
#else
PyObject* exc_type; PyObject* exc_type;
PyObject* exc_value; PyObject* exc_value;
PyObject* exc_traceback; PyObject* exc_traceback;
#endif
PyObject* dict; PyObject* dict;
} PyGreenlet; } PyGreenlet;
......
...@@ -193,7 +193,8 @@ greenlet_requires = [ ...@@ -193,7 +193,8 @@ greenlet_requires = [
# We need to watch our greenlet version fairly carefully, # We need to watch our greenlet version fairly carefully,
# since we compile cython code that extends the greenlet object. # since we compile cython code that extends the greenlet object.
# Binary compatibility would break if the greenlet struct changes. # Binary compatibility would break if the greenlet struct changes.
'greenlet >= 0.4.13; platform_python_implementation=="CPython"', # (Which it did in 0.4.14 for Python 3.7)
'greenlet >= 0.4.14; platform_python_implementation=="CPython"',
] ]
# Note that we don't add cffi to install_requires, it's # Note that we don't add cffi to install_requires, it's
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment