From b270a7c2ac49460af92c616dceb48938178e495f Mon Sep 17 00:00:00 2001 From: erickson Date: Fri, 30 May 2008 02:10:43 +0000 Subject: [PATCH] added check to make sure the db handle is not double-closed (causing segfaults) git-svn-id: svn://svn.open-ils.org/ILS/trunk@9734 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/c-apps/oils_cstore.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Open-ILS/src/c-apps/oils_cstore.c b/Open-ILS/src/c-apps/oils_cstore.c index ce5dbdc25e..8f8820f11f 100644 --- a/Open-ILS/src/c-apps/oils_cstore.c +++ b/Open-ILS/src/c-apps/oils_cstore.c @@ -79,14 +79,15 @@ static int max_flesh_depth = 100; void osrfAppChildExit() { osrfLogDebug(OSRF_LOG_MARK, "Child is exiting, disconnecting from database..."); - if (writehandle) { - dbi_conn_query(writehandle, "ROLLBACK;"); - dbi_conn_close(writehandle); - writehandle = NULL; - } - - if (dbhandle) - dbi_conn_close(dbhandle); + int same = 0; + if (writehandle == dbhandle) same = 1; + if (writehandle) { + dbi_conn_query(writehandle, "ROLLBACK;"); + dbi_conn_close(writehandle); + writehandle = NULL; + } + if (dbhandle && !same) + dbi_conn_close(dbhandle); // XXX add cleanup of readHandles whenever that gets used -- 2.43.2