From a62f6b806ebe83a6158133084d7ce104e0e2fa62 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 22 Feb 2005 15:30:09 +0000 Subject: [PATCH] * cygwin.din (fdatasync): Export. * fhandler.cc (fhandler_base::fsync): Return with EINVAL if no handle is available. * syscalls.cc (fdatasync): Create export alias to fsync. * include/cygwin/version.h: Bump API minor version. --- winsup/cygwin/ChangeLog | 8 ++++++++ winsup/cygwin/cygwin.din | 1 + winsup/cygwin/fhandler.cc | 5 +++++ winsup/cygwin/include/cygwin/version.h | 3 ++- winsup/cygwin/syscalls.cc | 2 ++ 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index d6adc5af1..08d6fa970 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,11 @@ +2005-02-22 Corinna Vinschen + + * cygwin.din (fdatasync): Export. + * fhandler.cc (fhandler_base::fsync): Return with EINVAL if no + handle is available. + * syscalls.cc (fdatasync): Create export alias to fsync. + * include/cygwin/version.h: Bump API minor version. + 2005-02-20 Corinna Vinschen * fhandler.h (fhandler_base::fstat_helper): Declare with additional diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din index 6f0acb787..fe4730ed8 100644 --- a/winsup/cygwin/cygwin.din +++ b/winsup/cygwin/cygwin.din @@ -562,6 +562,7 @@ _fsetpos64 = fsetpos64 SIGFE _fstat64 = fstat64 SIGFE fstatfs SIGFE _fstatfs = fstatfs SIGFE +fdatasync SIGFE fsync SIGFE _fsync = fsync SIGFE ftell SIGFE diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index e4089d64f..70cd4dbad 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -1627,6 +1627,11 @@ fhandler_base::utimes (const struct timeval *tvp) int fhandler_base::fsync () { + if (!get_handle () || nohandle ()) + { + set_errno (EINVAL); + return -1; + } if (pc.isdir ()) /* Just succeed. */ return 0; if (FlushFileBuffers (get_handle ())) diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h index c38fc5520..ecb467f3d 100644 --- a/winsup/cygwin/include/cygwin/version.h +++ b/winsup/cygwin/include/cygwin/version.h @@ -246,12 +246,13 @@ details. */ 116: Export atoll. 117: Export utmpx functions, Return utmp * from pututent. 118: Export getpriority, setpriority. + 118: Export fdatasync. */ /* Note that we forgot to bump the api for ualarm, strtoll, strtoull */ #define CYGWIN_VERSION_API_MAJOR 0 -#define CYGWIN_VERSION_API_MINOR 118 +#define CYGWIN_VERSION_API_MINOR 119 /* There is also a compatibity version number associated with the shared memory regions. It is incremented when incompatible diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index d76960829..a80b47090 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -918,6 +918,8 @@ fsync (int fd) return cfd->fsync (); } +EXPORT_ALIAS (fsync, fdatasync) + static void sync_worker (const char *vol) {