summaryrefslogtreecommitdiff
path: root/innobase/fil
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2005-01-22 04:45:22 +0200
committerunknown <heikki@hundin.mysql.fi>2005-01-22 04:45:22 +0200
commitc695ccd27e753fe9ed67dc28443de7639203a4bc (patch)
tree408a3d2bd611531d799e74f5673514a60007cfbe /innobase/fil
parentb5778c1c4a71ddc5553e9ce327c61e0e45ba875e (diff)
downloadmariadb-git-c695ccd27e753fe9ed67dc28443de7639203a4bc.tar.gz
fil0fil.c:
Fix a race condition that could cause the assertion space->n_pending_flushes == 0 to fail in fil0fil.c, in fil_space_free(), in DROP TABLE or in ALTER TABLE innobase/fil/fil0fil.c: Fix a race condition that could cause the assertion space->n_pending_flushes == 0 to fail in fil0fil.c, in fil_space_free()
Diffstat (limited to 'innobase/fil')
-rw-r--r--innobase/fil/fil0fil.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/innobase/fil/fil0fil.c b/innobase/fil/fil0fil.c
index ea34b6ffd93..5f71c00aea6 100644
--- a/innobase/fil/fil0fil.c
+++ b/innobase/fil/fil0fil.c
@@ -4139,7 +4139,8 @@ fil_flush_file_spaces(
space = UT_LIST_GET_FIRST(system->space_list);
while (space) {
- if (space->purpose == purpose) {
+ if (space->purpose == purpose && !space->is_being_deleted) {
+
space->n_pending_flushes++; /* prevent dropping of the
space while we are
flushing */