diff options
author | raf <none@none> | 2007-07-24 14:13:46 -0700 |
---|---|---|
committer | raf <none@none> | 2007-07-24 14:13:46 -0700 |
commit | 1f8cf95fd900139727f8fc7f4486b52297c915d2 (patch) | |
tree | 1998813761c0d2a8a045c70b1340d86554943d2b /usr/src/lib/libc/port | |
parent | 390eefe437a26a6a31048cd6ec9edd01d72c0e6f (diff) | |
download | illumos-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-vers | 1 | ||||
-rw-r--r-- | usr/src/lib/libc/port/sys/fsync.c | 4 | ||||
-rw-r--r-- | usr/src/lib/libc/port/threads/scalls.c | 9 |
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); |