]> git.sur5r.net Git - bacula/bacula/commitdiff
Tweak second part of fix for #1893
authorMarco van Wieringen <mvw@planets.elm.net>
Fri, 15 Jun 2012 13:07:07 +0000 (15:07 +0200)
committerKern Sibbald <kern@sibbald.com>
Sat, 20 Apr 2013 12:50:49 +0000 (14:50 +0200)
bacula/src/cats/dbi.c
bacula/src/cats/ingres.c
bacula/src/cats/mysql.c
bacula/src/cats/postgresql.c
bacula/src/cats/sqlite.c

index 0dcf2cb0261c88f8c69b8a7a32853e3429d46ce2..f48ea0a46854eff0056fca689806fdcc770dcf41 100644 (file)
@@ -347,7 +347,9 @@ void B_DB_DBI::db_close_database(JCR *jcr)
    P(mutex);
    m_ref_count--;
    if (m_ref_count == 0) {
-      sql_free_result();
+      if (m_connected) {
+         sql_free_result();
+      }
       db_list->remove(this);
       if (m_connected && m_db_handle) {
          dbi_shutdown_r(m_instance);
index 9199594079e37083e019ed4c6993081836951b76..12bab679b8391447a98b53fc4f34cefaee1ba0ab 100755 (executable)
@@ -294,7 +294,9 @@ void B_DB_INGRES::db_close_database(JCR *jcr)
    P(mutex);
    m_ref_count--;
    if (m_ref_count == 0) {
-      sql_free_result();
+      if (m_connected) {
+         sql_free_result();
+      }
       db_list->remove(this);
       if (m_connected && m_db_handle) {
          INGdisconnectDB(m_db_handle);
index f1be9260e13da61f8996696d78eadc234eda0623..a2ed279a2f60e0f9ce84185bcee9955d53a441bc 100644 (file)
@@ -248,7 +248,9 @@ void B_DB_MYSQL::db_close_database(JCR *jcr)
    m_ref_count--;
    Dmsg3(100, "closedb ref=%d connected=%d db=%p\n", m_ref_count, m_connected, m_db_handle);
    if (m_ref_count == 0) {
-      sql_free_result();
+      if (m_connected) {
+         sql_free_result();
+      }
       db_list->remove(this);
       if (m_connected) {
          Dmsg1(100, "close db=%p\n", m_db_handle);
index d3ce6e3672ef7b330c3b01a3abd33c590c113ea6..a35083002df3d9dd899162fc417d6686d82e293e 100644 (file)
@@ -284,7 +284,9 @@ void B_DB_POSTGRESQL::db_close_database(JCR *jcr)
    P(mutex);
    m_ref_count--;
    if (m_ref_count == 0) {
-      sql_free_result();
+      if (m_connected) {
+         sql_free_result();
+      }
       db_list->remove(this);
       if (m_connected && m_db_handle) {
          PQfinish(m_db_handle);
index 5957513da7f67934ed1be00e30fbc884d1336193..d3ff4d69d1096c4ea14782068ce042ef6238b8f6 100644 (file)
@@ -236,7 +236,9 @@ void B_DB_SQLITE::db_close_database(JCR *jcr)
    P(mutex);
    m_ref_count--;
    if (m_ref_count == 0) {
-      sql_free_result();
+      if (m_connected) {
+         sql_free_result();
+      }
       db_list->remove(this);
       if (m_connected && m_db_handle) {
          sqlite3_close(m_db_handle);