summaryrefslogtreecommitdiff
path: root/sql/unireg.cc
diff options
context:
space:
mode:
authormonty@mysql.com <>2003-11-02 15:55:02 +0200
committermonty@mysql.com <>2003-11-02 15:55:02 +0200
commit4668b54837f3cd0a4ee71b16841c41a6bdc44c06 (patch)
treecb9bb7181d68f8c4f3d892367e08536d2f609a19 /sql/unireg.cc
parent2ec94ade8feee8e4e971fcc37920785a6f22413c (diff)
downloadmariadb-git-4668b54837f3cd0a4ee71b16841c41a6bdc44c06.tar.gz
Call my_sync() after all data is written to .frm file
Added my_sync() to mysys which will do fsync/fdatasync/_commit() on a file.
Diffstat (limited to 'sql/unireg.cc')
-rw-r--r--sql/unireg.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/unireg.cc b/sql/unireg.cc
index 5183f471fa2..ff42bfae0f0 100644
--- a/sql/unireg.cc
+++ b/sql/unireg.cc
@@ -150,16 +150,19 @@ int rea_create_table(my_string file_name,
my_free((gptr) screen_buff,MYF(0));
my_afree((gptr) keybuff);
- VOID(my_close(file,MYF(MY_WME)));
- if (ha_create_table(file_name,create_info,0))
+ if (my_sync(file, MYF(MY_WME)))
goto err2;
+ if (my_close(file,MYF(MY_WME)) ||
+ ha_create_table(file_name,create_info,0))
+ goto err3;
DBUG_RETURN(0);
err:
my_free((gptr) screen_buff,MYF(0));
my_afree((gptr) keybuff);
+err2:
VOID(my_close(file,MYF(MY_WME)));
- err2:
+err3:
my_delete(file_name,MYF(0));
DBUG_RETURN(1);
} /* rea_create_table */