Fiddle with object destruction and shutdown. Curses upon php 5.2. fixes #3354

git-svn-id: http://svn.automattic.com/wordpress/branches/2.0@4841 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
markjaquith 2007-01-30 18:33:48 +00:00
parent 33ac749c08
commit 55a996f29d
2 changed files with 23 additions and 0 deletions

View File

@ -8,6 +8,8 @@ function wp_cache_add($key, $data, $flag = '', $expire = 0) {
function wp_cache_close() {
global $wp_object_cache;
if ( ! isset($wp_object_cache) )
return;
return $wp_object_cache->save();
}
@ -402,8 +404,14 @@ class WP_Object_Cache {
}
function WP_Object_Cache() {
return $this->__construct();
}
function __construct() {
global $blog_id;
register_shutdown_function(array(&$this, "__destruct"));
if (defined('DISABLE_CACHE'))
return;
@ -438,5 +446,10 @@ class WP_Object_Cache {
$this->blog_id = $this->hash($blog_id);
}
function __destruct() {
$this->save();
return true;
}
}
?>

View File

@ -40,6 +40,12 @@ class wpdb {
// DB Constructor - connects to the server and selects a database
function wpdb($dbuser, $dbpassword, $dbname, $dbhost) {
return $this->__construct($dbuser, $dbpassword, $dbname, $dbhost);
}
function __construct($dbuser, $dbpassword, $dbname, $dbhost) {
register_shutdown_function(array(&$this, "__destruct"));
$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);
if (!$this->dbh) {
$this->bail("
@ -57,6 +63,10 @@ class wpdb {
$this->select($dbname);
}
function __destruct() {
return true;
}
// ==================================================================
// Select a DB (if another one needs to be selected)