Index: includes/database.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/Attic/database.inc,v retrieving revision 1.92.2.2 diff -u -r1.92.2.2 database.inc --- includes/database.inc 9 Jul 2008 21:48:28 -0000 1.92.2.2 +++ includes/database.inc 22 Aug 2008 17:56:47 -0000 @@ -130,7 +130,15 @@ install_goto('install.php'); } - if (!isset($db_conns[$name])) { + $real_name = $name; + // open a dedicated connection for watchdog entries + // to ensure that entries are written even if other tables locked + if ('dedicated_watchdog_connection' == $name) { + $name = 'default'; + } + + if (!isset($db_conns[$real_name])) { + // Initiate a new connection, using the named DB URL specified. if (is_array($db_url)) { $connect_url = array_key_exists($name, $db_url) ? $db_url[$name] : $db_url['default']; @@ -149,13 +157,13 @@ _db_error_page("The database type '". $db_type ."' is unsupported. Please use either 'mysql' or 'mysqli' for MySQL, or 'pgsql' for PostgreSQL databases."); } - $db_conns[$name] = db_connect($connect_url); + $db_conns[$real_name] = db_connect($connect_url); } $previous_name = $active_name; // Set the active connection. - $active_name = $name; - $active_db = $db_conns[$name]; + $active_name = $real_name; + $active_db = $db_conns[$real_name]; return $previous_name; } Index: modules/dblog/dblog.module =================================================================== RCS file: /cvs/drupal/drupal/modules/dblog/dblog.module,v retrieving revision 1.21.2.2 diff -u -r1.21.2.2 dblog.module --- modules/dblog/dblog.module 9 Apr 2008 21:11:46 -0000 1.21.2.2 +++ modules/dblog/dblog.module 22 Aug 2008 17:56:47 -0000 @@ -127,7 +127,7 @@ } function dblog_watchdog($log = array()) { - $current_db = db_set_active(); + $current_db = db_set_active('dedicated_watchdog_connection'); db_query("INSERT INTO {watchdog} (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES