Implement fdatasync(2), fsync(2) and close_from(2).
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Jung-uk Kim <jkim@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
bsd-user/bsd-file.h | 22 ++++++++++++++++++++++
bsd-user/freebsd/os-syscall.c | 12 ++++++++++++
2 files changed, 34 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index fb54905b46f..3e0f160e312 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -240,4 +240,26 @@ static inline abi_long do_bsd_close(abi_long arg1)
return get_errno(close(arg1));
}
+/* fdatasync(2) */
+static abi_long do_bsd_fdatasync(abi_long arg1)
+{
+
+ return get_errno(fdatasync(arg1));
+}
+
+/* fsync(2) */
+static abi_long do_bsd_fsync(abi_long arg1)
+{
+
+ return get_errno(fsync(arg1));
+}
+
+/* closefrom(2) */
+static abi_long do_bsd_closefrom(abi_long arg1)
+{
+
+ closefrom(arg1); /* returns void */
+ return get_errno(0);
+}