summaryrefslogtreecommitdiff
path: root/usr/src/lib/libc/port
diff options
context:
space:
mode:
authorraf <none@none>2007-07-24 14:13:46 -0700
committerraf <none@none>2007-07-24 14:13:46 -0700
commit1f8cf95fd900139727f8fc7f4486b52297c915d2 (patch)
tree1998813761c0d2a8a045c70b1340d86554943d2b /usr/src/lib/libc/port
parent390eefe437a26a6a31048cd6ec9edd01d72c0e6f (diff)
downloadillumos-gate-1f8cf95fd900139727f8fc7f4486b52297c915d2.tar.gz
6542161 UNIX03: fdatasync() should be a cancellation point
Diffstat (limited to 'usr/src/lib/libc/port')
-rw-r--r--usr/src/lib/libc/port/mapfile-vers1
-rw-r--r--usr/src/lib/libc/port/sys/fsync.c4
-rw-r--r--usr/src/lib/libc/port/threads/scalls.c9
3 files changed, 12 insertions, 2 deletions
diff --git a/usr/src/lib/libc/port/mapfile-vers b/usr/src/lib/libc/port/mapfile-vers
index d32f776934..1463fb04c5 100644
--- a/usr/src/lib/libc/port/mapfile-vers
+++ b/usr/src/lib/libc/port/mapfile-vers
@@ -1504,6 +1504,7 @@ SUNWprivate_1.1 {
_F_cplx_div_rx;
_F_cplx_mul;
_fcvt;
+ _fdatasync;
_ffs;
_fgetgrent;
_fgetgrent_r;
diff --git a/usr/src/lib/libc/port/sys/fsync.c b/usr/src/lib/libc/port/sys/fsync.c
index f727d5914f..b0278f3d95 100644
--- a/usr/src/lib/libc/port/sys/fsync.c
+++ b/usr/src/lib/libc/port/sys/fsync.c
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -44,7 +44,7 @@ _fsync(int fd)
}
int
-fdatasync(int fd)
+_fdatasync(int fd)
{
return (__fdsync(fd, FDSYNC));
}
diff --git a/usr/src/lib/libc/port/threads/scalls.c b/usr/src/lib/libc/port/threads/scalls.c
index 29da638f13..1b59f8e3a5 100644
--- a/usr/src/lib/libc/port/threads/scalls.c
+++ b/usr/src/lib/libc/port/threads/scalls.c
@@ -694,6 +694,15 @@ fcntl(int fildes, int cmd, ...)
}
int
+fdatasync(int fildes)
+{
+ extern int _fdatasync(int);
+ int rv;
+
+ PERFORM(_fdatasync(fildes))
+}
+
+int
fsync(int fildes)
{
extern int _fsync(int);