summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2007-03-25 20:00:05 +0000
committerDries Buytaert <dries@buytaert.net>2007-03-25 20:00:05 +0000
commitba15b28ece619b1ac80835a4b2c0208278071c45 (patch)
tree720d149dd14fc4d450843661f25b8c15aff6f844
parent757ac966bba514a36746d3aaf91168701a647fca (diff)
downloadbrdo-ba15b28ece619b1ac80835a4b2c0208278071c45.tar.gz
brdo-ba15b28ece619b1ac80835a4b2c0208278071c45.tar.bz2
- Patch #80963 by Dries et al: fixed race condition in _block_rehash().
-rw-r--r--modules/block/block.module3
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/block/block.module b/modules/block/block.module
index d0311a206..1236d1332 100644
--- a/modules/block/block.module
+++ b/modules/block/block.module
@@ -146,6 +146,8 @@ function _block_rehash() {
init_theme();
+ db_lock_table('blocks');
+
$result = db_query("SELECT * FROM {blocks} WHERE theme = '%s'", $theme_key);
while ($old_block = db_fetch_object($result)) {
$old_blocks[$old_block->module][$old_block->delta] = $old_block;
@@ -185,7 +187,6 @@ function _block_rehash() {
}
}
- db_lock_table('blocks');
// Remove all blocks from table.
db_query("DELETE FROM {blocks} WHERE theme = '%s'", $theme_key);