[Python-modules-commits] [python-multidict] 01/06: Import python-multidict_3.1.1.orig.tar.gz

Piotr Ożarowski piotr at moszumanska.debian.org
Wed Jul 12 17:47:09 UTC 2017


This is an automated email from the git hooks/post-receive script.

piotr pushed a commit to branch master
in repository python-multidict.

commit 09154aa0585c21fb5f967c3e03396219f9ff2ff2
Author: Piotr Ożarowski <piotr at debian.org>
Date:   Wed Jul 12 18:30:54 2017 +0200

    Import python-multidict_3.1.1.orig.tar.gz
---
 CHANGES.rst                                     |   5 +++++
 PKG-INFO                                        |   7 ++++++-
 multidict.egg-info/PKG-INFO                     |   7 ++++++-
 multidict.egg-info/SOURCES.txt                  |   2 +-
 multidict/__init__.py                           |   2 +-
 multidict/_istr.c                               |   1 +
 multidict/_istr.cpython-34m.so                  | Bin 0 -> 30786 bytes
 multidict/_istr.cpython-35m-x86_64-linux-gnu.so | Bin 30970 -> 0 bytes
 tests/test_istr.py                              |  20 ++++++++++++++++++++
 9 files changed, 40 insertions(+), 4 deletions(-)

diff --git a/CHANGES.rst b/CHANGES.rst
index d5976e3..2046d03 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,3 +1,8 @@
+3.1.1 (2017-07-09)
+------------------
+
+* Fix #105: Remove memory leak in `istr` implementation
+
 3.1.0 (2017-06-25)
 ------------------
 
diff --git a/PKG-INFO b/PKG-INFO
index 59dc24b..e63aa40 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: multidict
-Version: 3.1.0
+Version: 3.1.1
 Summary: multidict implementation
 Home-page: https://github.com/aio-libs/multidict/
 Author: Andrew Svetlov
@@ -62,6 +62,11 @@ Description: =========
         .. _aiohttp: https://github.com/KeepSafe/aiohttp
         .. _Cython: http://cython.org/
         
+        3.1.1 (2017-07-09)
+        ------------------
+        
+        * Fix #105: Remove memory leak in `istr` implementation
+        
         3.1.0 (2017-06-25)
         ------------------
         
diff --git a/multidict.egg-info/PKG-INFO b/multidict.egg-info/PKG-INFO
index 59dc24b..e63aa40 100644
--- a/multidict.egg-info/PKG-INFO
+++ b/multidict.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: multidict
-Version: 3.1.0
+Version: 3.1.1
 Summary: multidict implementation
 Home-page: https://github.com/aio-libs/multidict/
 Author: Andrew Svetlov
@@ -62,6 +62,11 @@ Description: =========
         .. _aiohttp: https://github.com/KeepSafe/aiohttp
         .. _Cython: http://cython.org/
         
+        3.1.1 (2017-07-09)
+        ------------------
+        
+        * Fix #105: Remove memory leak in `istr` implementation
+        
         3.1.0 (2017-06-25)
         ------------------
         
diff --git a/multidict.egg-info/SOURCES.txt b/multidict.egg-info/SOURCES.txt
index 52674e8..2eef1ea 100644
--- a/multidict.egg-info/SOURCES.txt
+++ b/multidict.egg-info/SOURCES.txt
@@ -13,7 +13,7 @@ docs/spelling_wordlist.txt
 multidict/__init__.py
 multidict/__init__.pyi
 multidict/_istr.c
-multidict/_istr.cpython-35m-x86_64-linux-gnu.so
+multidict/_istr.cpython-34m.so
 multidict/_multidict.c
 multidict/_multidict.pyx
 multidict/_multidict_py.py
diff --git a/multidict/__init__.py b/multidict/__init__.py
index 5d24f42..ee574a0 100644
--- a/multidict/__init__.py
+++ b/multidict/__init__.py
@@ -10,7 +10,7 @@ import os
 __all__ = ('MultiDictProxy', 'CIMultiDictProxy',
            'MultiDict', 'CIMultiDict', 'upstr', 'istr')
 
-__version__ = '3.1.0'
+__version__ = '3.1.1'
 
 
 if bool(os.environ.get('MULTIDICT_NO_EXTENSIONS')):
diff --git a/multidict/_istr.c b/multidict/_istr.c
index 109d433..083cba3 100644
--- a/multidict/_istr.c
+++ b/multidict/_istr.c
@@ -67,6 +67,7 @@ static PyMethodDef istr_methods[] = {
 void istr_dealloc(istrobject *self)
 {
     Py_XDECREF(self->canonical);
+    PyUnicode_Type.tp_dealloc((PyObject*)self);
 }
 
 static PyObject *
diff --git a/multidict/_istr.cpython-34m.so b/multidict/_istr.cpython-34m.so
new file mode 100755
index 0000000..cc98e17
Binary files /dev/null and b/multidict/_istr.cpython-34m.so differ
diff --git a/multidict/_istr.cpython-35m-x86_64-linux-gnu.so b/multidict/_istr.cpython-35m-x86_64-linux-gnu.so
deleted file mode 100755
index 2a68b42..0000000
Binary files a/multidict/_istr.cpython-35m-x86_64-linux-gnu.so and /dev/null differ
diff --git a/tests/test_istr.py b/tests/test_istr.py
index 534ef74..e5539c2 100644
--- a/tests/test_istr.py
+++ b/tests/test_istr.py
@@ -1,5 +1,7 @@
 from multidict._multidict import istr
 from multidict._multidict_py import istr as _istr
+import gc
+import psutil
 
 
 class IStrMixin:
@@ -52,6 +54,24 @@ class IStrMixin:
 class TestPyIStr(IStrMixin):
     cls = _istr
 
+    @staticmethod
+    def _create_strs():
+        _istr('foobarbaz')
+        istr2 = _istr()
+        _istr(istr2)
+
+    def test_leak(self):
+        gc.collect()
+        p = psutil.Process()
+        info = p.memory_info()
+        for _ in range(10000):
+            self._create_strs()
+
+        gc.collect()
+        info2 = p.memory_info()
+        rss_diff = info2.rss - info.rss
+        assert rss_diff == 0
+
 
 class TestIStr(IStrMixin):
     cls = istr

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-multidict.git



More information about the Python-modules-commits mailing list