diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2017-07-05 22:09:28 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2017-07-05 22:09:28 +0300 |
commit | 72a2de92a12dd7a1d6b0294bb9aa36411ad60fc3 (patch) | |
tree | 3eacbfc81784c2dcedceffa29879447aa0b2d34f /storage/innobase/include/log0recv.h | |
parent | f6633bf058802ad7da8196d01fd19d75c53f7274 (diff) | |
download | mariadb-git-72a2de92a12dd7a1d6b0294bb9aa36411ad60fc3.tar.gz |
Avoid a hang when InnoDB startup is aborted during redo log apply
buf_flush_page_cleaner_coordinator: In the first loop, use an
appropriate termination condition, waiting for !recv_writer_thread_active.
logs_empty_and_mark_files_at_shutdown(): Signal recv_sys->flush_start
in case the recv_writer_thread was never started, or
buf_flush_page_cleaner_coordinator failed to notice its termination.
innobase_start_or_create_for_mysql(): Remove a redundant, unreachable
condition, and properly release resources when aborting startup due to
recv_sys->found_corrupt_log.
Diffstat (limited to 'storage/innobase/include/log0recv.h')
-rw-r--r-- | storage/innobase/include/log0recv.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/storage/innobase/include/log0recv.h b/storage/innobase/include/log0recv.h index 744ad79f589..24ad9ae2a30 100644 --- a/storage/innobase/include/log0recv.h +++ b/storage/innobase/include/log0recv.h @@ -38,6 +38,9 @@ Created 9/20/1997 Heikki Tuuri #include <list> #include <vector> +/** Is recv_writer_thread active? */ +extern bool recv_writer_thread_active; + /** @return whether recovery is currently running. */ #define recv_recovery_is_on() recv_recovery_on |