From 9a21c471cfdea8d9a2dcc93aa582035fe66e2bbe Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Thu, 22 Sep 2016 22:48:40 +0100 Subject: [PATCH] libc: add dummies for fsync and fdatasync 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 | 3 +++ Library/libs/Makefile | 4 ++-- Library/libs/Makefile.6809 | 4 ++-- Library/libs/fdatasync.c | 6 ++++++ Library/libs/fsync.c | 6 ++++++ 5 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 Library/libs/fdatasync.c create mode 100644 Library/libs/fsync.c diff --git a/Library/include/unistd.h b/Library/include/unistd.h index 707e2180..e1edbde0 100644 --- a/Library/include/unistd.h +++ b/Library/include/unistd.h @@ -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 */ diff --git a/Library/libs/Makefile b/Library/libs/Makefile index 8d9e4130..dcb37208 100644 --- a/Library/libs/Makefile +++ b/Library/libs/Makefile @@ -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 diff --git a/Library/libs/Makefile.6809 b/Library/libs/Makefile.6809 index 709f0ccd..d50551bb 100644 --- a/Library/libs/Makefile.6809 +++ b/Library/libs/Makefile.6809 @@ -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 index 00000000..29d1dd02 --- /dev/null +++ b/Library/libs/fdatasync.c @@ -0,0 +1,6 @@ +#include + +int fdatasync(int fd) +{ + sync(); +} diff --git a/Library/libs/fsync.c b/Library/libs/fsync.c new file mode 100644 index 00000000..c6ea3c1c --- /dev/null +++ b/Library/libs/fsync.c @@ -0,0 +1,6 @@ +#include + +int fsync(int fd) +{ + sync(); +} -- 2.34.1