summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Madden <jason+github@nextthought.com>2017-09-13 08:05:00 -0500
committerGitHub <noreply@github.com>2017-09-13 08:05:00 -0500
commit12714d83d7bb9b0435cf5d28f8633d51ad76bac8 (patch)
treee113c6fd10c814d7289f23a6d95da8394ab21372
parent13f4adb145c23912edc3bf69bb612c097c8bb828 (diff)
parente153b7a5657273c3b4e6bbc795a4dd37bb2d5218 (diff)
downloadzope-proxy-12714d83d7bb9b0435cf5d28f8633d51ad76bac8.tar.gz
Merge pull request #23 from zopefoundation/issue20
Untrack self when deallocating.
-rw-r--r--CHANGES.rst3
-rw-r--r--src/zope/proxy/_zope_proxy_proxy.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index 48f0a61..4c0b9a2 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -4,6 +4,9 @@ Changes
4.3.0 (unreleased)
------------------
+- Fix a potential rare crash when deallocating proxies. See `issue 20
+ <https://github.com/zopefoundation/zope.proxy/issues/20>`_.
+
- Drop support for Python 3.3.
- Drop support for "python setup.py test".
diff --git a/src/zope/proxy/_zope_proxy_proxy.c b/src/zope/proxy/_zope_proxy_proxy.c
index d1c4478..e201337 100644
--- a/src/zope/proxy/_zope_proxy_proxy.c
+++ b/src/zope/proxy/_zope_proxy_proxy.c
@@ -182,6 +182,7 @@ wrap_iternext(PyObject *self)
static void
wrap_dealloc(PyObject *self)
{
+ PyObject_GC_UnTrack(self);
(void) wrap_clear(self);
self->ob_type->tp_free(self);
}