diff options
author | unknown <heikki@hundin.mysql.fi> | 2005-01-22 04:45:22 +0200 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2005-01-22 04:45:22 +0200 |
commit | 9a68e74884fb32d2ac1447fc6f8bb5402edd4ccf (patch) | |
tree | 408a3d2bd611531d799e74f5673514a60007cfbe | |
parent | d137d79d9aecf99a5ec694123ee12cc98b181438 (diff) | |
download | mariadb-git-9a68e74884fb32d2ac1447fc6f8bb5402edd4ccf.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()
-rw-r--r-- | innobase/fil/fil0fil.c | 3 |
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 */ |