From f655dff80782cd6bf59d64985299bd07546cb98b Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Thu, 15 May 2003 00:13:18 +0000 Subject: DB.remove() needs to set the internal DB handle to NULL after being called. (sourceforge pybsddb bug #737970). Also: don't allow other threads to run during calls that invalidate the DB handle. --- Modules/_bsddb.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Modules/_bsddb.c b/Modules/_bsddb.c index eb2b516914..7a4f9e1762 100644 --- a/Modules/_bsddb.c +++ b/Modules/_bsddb.c @@ -1135,9 +1135,7 @@ DB_close(DBObject* self, PyObject* args) if (self->db != NULL) { if (self->myenvobj) CHECK_ENV_NOT_CLOSED(self->myenvobj); - MYDB_BEGIN_ALLOW_THREADS; err = self->db->close(self->db, flags); - MYDB_END_ALLOW_THREADS; self->db = NULL; RETURN_IF_ERR(); } @@ -1707,9 +1705,8 @@ DB_remove(DBObject* self, PyObject* args, PyObject* kwargs) return NULL; CHECK_DB_NOT_CLOSED(self); - MYDB_BEGIN_ALLOW_THREADS; err = self->db->remove(self->db, filename, database, flags); - MYDB_END_ALLOW_THREADS; + self->db = NULL; RETURN_IF_ERR(); RETURN_NONE(); } -- cgit v1.2.1