summaryrefslogtreecommitdiffstats
path: root/system
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2012-05-22 23:37:04 +0200
committerAndrey Andreev <narf@bofh.bg>2012-05-22 23:37:04 +0200
commit32593f9aa821a80f5e9fc2dbbae0b4f5f1078dd8 (patch)
treed56ffd0a88bf04cbdb205876be99473b0f22ecf9 /system
parent1d79efea47d26e0e567f919c648adf5b554f3ff0 (diff)
parent89f77eedf9118dfccd52a7bc3e559d6bac5aa07c (diff)
Merge pull request #1378 from gintsmurans/develop
Move closing of database connection to CI_DB_driver->__destruct - #1376
Diffstat (limited to 'system')
-rwxr-xr-xsystem/core/CodeIgniter.php10
-rw-r--r--system/database/DB_driver.php17
2 files changed, 17 insertions, 10 deletions
diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index 00db6e13a..585bb7b31 100755
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -393,15 +393,5 @@
*/
$EXT->call_hook('post_system');
-/*
- * ------------------------------------------------------
- * Close the DB connection if one exists
- * ------------------------------------------------------
- */
- if (class_exists('CI_DB') && isset($CI->db) && ! $CI->db->pconnect)
- {
- $CI->db->close();
- }
-
/* End of file CodeIgniter.php */
/* Location: ./system/core/CodeIgniter.php */ \ No newline at end of file
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index ef77b594e..a955f45d2 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -1390,6 +1390,23 @@ abstract class CI_DB_driver {
{
}
+ // --------------------------------------------------------------------
+
+ /**
+ * Destructor
+ *
+ * Closes the database connection, if needed.
+ *
+ * @return void
+ */
+ public function __destruct()
+ {
+ if ($this->conn_id && ! $this->pconnect)
+ {
+ $this->close();
+ }
+ }
+
}
/* End of file DB_driver.php */