summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <heikki@donna.mysql.fi>2001-07-20 19:01:23 +0300
committerunknown <heikki@donna.mysql.fi>2001-07-20 19:01:23 +0300
commit48f40550f462e1a258682a5cc85f22ac8955f095 (patch)
tree91b2e2068bc3a1f74126c0dc1f8bd1c3d3f62199 /innobase
parent495c59d4b006ef90652bf579dbc1816dbb297786 (diff)
downloadmariadb-git-48f40550f462e1a258682a5cc85f22ac8955f095.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 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
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) {