diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2023-03-24 07:59:27 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2023-03-24 07:59:27 +0200 |
commit | 07460c31e30cc1f6b56dab6e9a54a7618e26050b (patch) | |
tree | 8c7cd78420354527a94bbf1f458d43a64398edc9 | |
parent | 15ca6c5a2f3cc8a0a4bdec016af8748823004797 (diff) | |
download | mariadb-git-07460c31e30cc1f6b56dab6e9a54a7618e26050b.tar.gz |
MDEV-30900 Crash on macOS due to zero-initialized buf_dblwr.write_cond
buf_dblwr_t::init(), buf_dblwr_t::close(): Cover also write_cond,
which was added in commit a55b951e6082a4ce9a1f2ed5ee176ea7dbbaf1f2
without explicit initialization. On GNU/Linux, PTHREAD_COND_INITIALIZER
is a zero-initializer. That is why the default zero initialization
happened to work on that platform.
-rw-r--r-- | storage/innobase/buf/buf0dblwr.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/storage/innobase/buf/buf0dblwr.cc b/storage/innobase/buf/buf0dblwr.cc index 72b1ba5ca2b..c3f221c6f61 100644 --- a/storage/innobase/buf/buf0dblwr.cc +++ b/storage/innobase/buf/buf0dblwr.cc @@ -53,6 +53,7 @@ void buf_dblwr_t::init() active_slot= &slots[0]; mysql_mutex_init(buf_dblwr_mutex_key, &mutex, nullptr); pthread_cond_init(&cond, nullptr); + pthread_cond_init(&write_cond, nullptr); } } @@ -468,6 +469,7 @@ void buf_dblwr_t::close() ut_ad(!batch_running); pthread_cond_destroy(&cond); + pthread_cond_destroy(&write_cond); for (int i= 0; i < 2; i++) { aligned_free(slots[i].write_buf); |