summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2022-08-09 09:36:04 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2022-08-09 09:57:28 +0900
commitf8d99bb9e4a7f6229c19c4fbd951ccad6fa97bde (patch)
tree1019c906b7d6f85a3b659210fad60ac3c36f4207 /lang
parent180899c7c313335128606bfff738da00dce4f5c9 (diff)
downloadgpgme-f8d99bb9e4a7f6229c19c4fbd951ccad6fa97bde.tar.gz
python: Don't call __del__ from __exit__ method.
* lang/python/src/core.py (Context, Data): Don't call __del__ from __exit__ method, as the object may be still in use. * lang/python/tests/t-idiomatic.py: Fix the test. -- GnuPG-bug-id: 6060 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'lang')
-rw-r--r--lang/python/src/core.py4
-rwxr-xr-xlang/python/tests/t-idiomatic.py3
2 files changed, 5 insertions, 2 deletions
diff --git a/lang/python/src/core.py b/lang/python/src/core.py
index 81f961d9..c7b312b8 100644
--- a/lang/python/src/core.py
+++ b/lang/python/src/core.py
@@ -1190,7 +1190,7 @@ class Context(GpgmeWrapper):
return self
def __exit__(self, type, value, tb):
- self.__del__()
+ return False
def op_keylist_all(self, *args, **kwargs):
self.op_keylist_start(*args, **kwargs)
@@ -1528,7 +1528,7 @@ class Data(GpgmeWrapper):
return self
def __exit__(self, type, value, tb):
- self.__del__()
+ return False
def _free_datacbs(self):
self._data_cbs = None
diff --git a/lang/python/tests/t-idiomatic.py b/lang/python/tests/t-idiomatic.py
index bc05e6c6..faa41906 100755
--- a/lang/python/tests/t-idiomatic.py
+++ b/lang/python/tests/t-idiomatic.py
@@ -35,6 +35,9 @@ with gpg.Context() as c, gpg.Data() as d:
d.write(b"Halloechen")
leak_c = c
leak_d = d
+
+leak_c.__del__()
+leak_d.__del__()
assert leak_c.wrapped is None
assert leak_d.wrapped is None