libc: add dummies for fsync and fdatasync
authorAlan Cox <alan@linux.intel.com>
Thu, 22 Sep 2016 21:48:40 +0000 (22:48 +0100)
committerAlan Cox <alan@linux.intel.com>
Thu, 22 Sep 2016 21:48:40 +0000 (22:48 +0100)
We don't need syscalls for these on smaller boxes (and it's surprisingly hard
to get right) so just wrap sync. That way a future bigger box that does need
fsync/fdatasync can be done properly.

Library/include/unistd.h
Library/libs/Makefile
Library/libs/Makefile.6809
Library/libs/fdatasync.c [new file with mode: 0644]
Library/libs/fsync.c [new file with mode: 0644]

index 707e218..e1edbde 100644 (file)
@@ -120,4 +120,7 @@ extern void exit(int __status);
 #define F_TLOCK        2
 #define F_TEST 3
 
+extern int fsync(int fd);
+extern int fdatasync(int fd);
+
 #endif /* __UNISTD_H */
index 8d9e413..dcb3720 100644 (file)
@@ -27,9 +27,9 @@ SRC_C += closedir_r.c clock_gettime.c clock_getres.c clock_settime.c
 SRC_C += creat.c crypt.c ctermid.c ctime.c cuserid.c
 SRC_C += difftime.c drand48.c err.c errno.c error.c
 SRC_C += execl.c execv.c execvp.c exit.c
-SRC_C += fclose.c fflush.c fgetc.c fgetgrent.c fgetpwent.c
+SRC_C += fclose.c fdatasync.c fflush.c fgetc.c fgetgrent.c fgetpwent.c
 SRC_C += fgetpos.c fgets.c fopen.c fork.c fprintf.c fputc.c fputs.c fread.c
-SRC_C += free.c fsetpos.c ftell.c fwrite.c getcwd.c
+SRC_C += free.c fsetpos.c fsync.c ftell.c fwrite.c getcwd.c
 SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getloadavg.c getlogin.c
 SRC_C += getopt.c
 SRC_C += getpw.c __getpwent.c getpwnam.c getpwuid.c gets.c gettimeofday.c
index 709f0cc..d50551b 100644 (file)
@@ -21,9 +21,9 @@ SRC_C += closedir_r.c clock_gettime.c clock_getres.c clock_settime.c
 SRC_C += creat.c crypt.c ctermid.c ctime.c cuserid.c
 SRC_C += difftime.c err.c errno.c error.c
 SRC_C += execl.c execv.c execvp.c exit.c
-SRC_C += fclose.c fflush.c fgetc.c fgetgrent.c fgetpwent.c
+SRC_C += fclose.c fdatasync.c fflush.c fgetc.c fgetgrent.c fgetpwent.c
 SRC_C += fgetpos.c fgets.c fopen.c fork.c fprintf.c fputc.c fputs.c fread.c
-SRC_C += free.c fsetpos.c ftell.c fwrite.c getcwd.c
+SRC_C += free.c fsetpos.c fsync.c ftell.c fwrite.c getcwd.c
 SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getloadavg.c getlogin.c
 SRC_C += getopt.c
 SRC_C += getpw.c __getpwent.c getpwnam.c getpwuid.c gets.c gettimeofday.c
diff --git a/Library/libs/fdatasync.c b/Library/libs/fdatasync.c
new file mode 100644 (file)
index 0000000..29d1dd0
--- /dev/null
@@ -0,0 +1,6 @@
+#include <unistd.h>
+
+int fdatasync(int fd)
+{
+    sync();
+}
diff --git a/Library/libs/fsync.c b/Library/libs/fsync.c
new file mode 100644 (file)
index 0000000..c6ea3c1
--- /dev/null
@@ -0,0 +1,6 @@
+#include <unistd.h>
+
+int fsync(int fd)
+{
+    sync();
+}