summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorheikki@donna.mysql.fi <>2001-07-20 19:01:23 +0300
committerheikki@donna.mysql.fi <>2001-07-20 19:01:23 +0300
commit20d0a09002688b3be490665b02293123abf0a8b7 (patch)
tree91b2e2068bc3a1f74126c0dc1f8bd1c3d3f62199 /innobase
parent147c51b59b81da31935bacf5c6f7130bd9b9abba (diff)
downloadmariadb-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.ic4
-rw-r--r--innobase/os/os0file.c7
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) {