diff options
author | heikki@donna.mysql.fi <> | 2001-07-20 19:01:23 +0300 |
---|---|---|
committer | heikki@donna.mysql.fi <> | 2001-07-20 19:01:23 +0300 |
commit | 20d0a09002688b3be490665b02293123abf0a8b7 (patch) | |
tree | 91b2e2068bc3a1f74126c0dc1f8bd1c3d3f62199 /innobase | |
parent | 147c51b59b81da31935bacf5c6f7130bd9b9abba (diff) | |
download | mariadb-git-20d0a09002688b3be490665b02293123abf0a8b7.tar.gz |
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
Diffstat (limited to 'innobase')
-rw-r--r-- | innobase/include/dict0dict.ic | 4 | ||||
-rw-r--r-- | innobase/os/os0file.c | 7 |
2 files changed, 5 insertions, 6 deletions
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) { |