diff options
author | Erlend Egeberg Aasland <erlend.aasland@innova.no> | 2021-06-03 16:38:19 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-03 16:38:19 (GMT) |
commit | d88b47b5a396aa8d66f9a0e6b13a0825d59d0eff (patch) | |
tree | d932a399ff6b69078f5a0bf5874b4e7e438a6b69 /Modules/_sqlite/cache.c | |
parent | 2c1e2583fdc4db6b43d163239ea42b0e8394171f (diff) | |
download | cpython-d88b47b5a396aa8d66f9a0e6b13a0825d59d0eff.zip cpython-d88b47b5a396aa8d66f9a0e6b13a0825d59d0eff.tar.gz cpython-d88b47b5a396aa8d66f9a0e6b13a0825d59d0eff.tar.bz2 |
bpo-42213: Remove redundant cyclic GC hack in sqlite3 (GH-26517)
The sqlite3 module now fully implements the GC protocol, so there's no
need for this workaround anymore.
- Add and use managed resource helper for connections using TESTFN
- Sort test imports
- Split open-tests into their own test case
Automerge-Triggered-By: GH:vstinner
Diffstat (limited to 'Modules/_sqlite/cache.c')
-rw-r--r-- | Modules/_sqlite/cache.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/Modules/_sqlite/cache.c b/Modules/_sqlite/cache.c index fd4e619..8196e3c 100644 --- a/Modules/_sqlite/cache.c +++ b/Modules/_sqlite/cache.c @@ -97,9 +97,6 @@ pysqlite_cache_init(pysqlite_Cache *self, PyObject *args, PyObject *kwargs) } self->factory = Py_NewRef(factory); - - self->decref_factory = 1; - return 0; } @@ -108,9 +105,7 @@ cache_traverse(pysqlite_Cache *self, visitproc visit, void *arg) { Py_VISIT(Py_TYPE(self)); Py_VISIT(self->mapping); - if (self->decref_factory) { - Py_VISIT(self->factory); - } + Py_VISIT(self->factory); pysqlite_Node *node = self->first; while (node) { @@ -124,9 +119,7 @@ static int cache_clear(pysqlite_Cache *self) { Py_CLEAR(self->mapping); - if (self->decref_factory) { - Py_CLEAR(self->factory); - } + Py_CLEAR(self->factory); /* iterate over all nodes and deallocate them */ pysqlite_Node *node = self->first; |