From 48f40550f462e1a258682a5cc85f22ac8955f095 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 20 Jul 2001 19:01:23 +0300 Subject: dict0dict.ic Remove acquisition of the dictionary mutex: this may fix the hang observed by Peter Zaitsev os0file.c Use O_SYNC instead of O_DSYNC because in Linux there may be a bug innobase/os/os0file.c: Use O_SYNC instead of O_DSYNC because in Linux there may be a bug innobase/include/dict0dict.ic: Remove acquisition of the dictionary mutex: this may fix the hang observed by Peter Zaitsev --- innobase/include/dict0dict.ic | 4 ---- innobase/os/os0file.c | 7 +++++-- 2 files changed, 5 insertions(+), 6 deletions(-) (limited to 'innobase') diff --git a/innobase/include/dict0dict.ic b/innobase/include/dict0dict.ic index 549a5763b44..9089ebe8edd 100644 --- a/innobase/include/dict0dict.ic +++ b/innobase/include/dict0dict.ic @@ -651,8 +651,6 @@ dict_table_get_index( char* name) /* in: index name */ { dict_index_t* index = NULL; - - mutex_enter(&(dict_sys->mutex)); index = dict_table_get_first_index(table); @@ -665,8 +663,6 @@ dict_table_get_index( index = dict_table_get_next_index(index); } - mutex_exit(&(dict_sys->mutex)); - return(index); } diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c index 668d74d75b5..d3c6232031a 100644 --- a/innobase/os/os0file.c +++ b/innobase/os/os0file.c @@ -347,9 +347,12 @@ try_again: UT_NOT_USED(purpose); -#ifdef O_DSYNC + /* Currently use only O_SYNC because there may be a bug in + Linux O_DSYNC! */ + +#ifdef O_SYNC if (srv_unix_file_flush_method == SRV_UNIX_O_DSYNC) { - create_flag = create_flag | O_DSYNC; + create_flag = create_flag | O_SYNC; } #endif if (create_mode == OS_FILE_CREATE) { -- cgit v1.2.1