diff options
-rw-r--r-- | include/unistd.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/syncfs.c | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/include/unistd.h b/include/unistd.h index 3793d2d3e..4701dabf8 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -1073,7 +1073,7 @@ extern char *getpass (const char *__prompt) __nonnull ((1)); extern int fsync (int __fd); #endif /* Use BSD || X/Open || Unix98. */ -#if 0 /*def __USE_GNU */ +#if __USE_GNU /* Make all changes done to all files on the file system associated * with FD actually appear on disk. */ extern int syncfs (int __fd) __THROW; diff --git a/libc/sysdeps/linux/common/syncfs.c b/libc/sysdeps/linux/common/syncfs.c new file mode 100644 index 000000000..831f76568 --- /dev/null +++ b/libc/sysdeps/linux/common/syncfs.c @@ -0,0 +1,13 @@ +/* vi: set sw=4 ts=4: */ +/* + * Copyright (C) 2015 Bartosz Golaszewski <bartekgola@gmail.com> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#include <sys/syscall.h> + +#if defined(__NR_syncfs) && __USE_GNU +#include <unistd.h> +_syscall1(int, syncfs, int, fd) +#endif |