summaryrefslogtreecommitdiff
path: root/myisam/mi_locking.c
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 /myisam/mi_locking.c
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 'myisam/mi_locking.c')
-rw-r--r--myisam/mi_locking.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/myisam/mi_locking.c b/myisam/mi_locking.c
index a707eb294a9..f3bfa8deb90 100644
--- a/myisam/mi_locking.c
+++ b/myisam/mi_locking.c
@@ -88,22 +88,10 @@ int mi_lock_database(MI_INFO *info, int lock_type)
share->changed=0;
if (myisam_flush)
{
-#if defined(__WIN__)
- if (_commit(share->kfile))
- error=errno;
- if (_commit(info->dfile))
- error=errno;
-#elif defined(HAVE_FDATASYNC)
- if (fdatasync(share->kfile))
- error=errno;
- if (fdatasync(share->dfile))
- error=errno;
-#elif defined(HAVE_FSYNC)
- if (fsync(share->kfile))
- error=errno;
- if (fsync(share->dfile))
- error=errno;
-#endif
+ if (my_sync(share->kfile, MYF(0)))
+ error= my_errno;
+ if (my_sync(info->dfile, MYF(0)))
+ error= my_errno;
}
else
share->not_flushed=1;