Browse Source

make fsync, fdatasync, and msync cancellation points

these are mandatory cancellation points per POSIX, so their omission
was a conformance bug.
Trutz Behn 10 năm trước cách đây
mục cha
commit
0b21a07c78
3 tập tin đã thay đổi với 3 bổ sung3 xóa
  1. 1 1
      src/mman/msync.c
  2. 1 1
      src/unistd/fdatasync.c
  3. 1 1
      src/unistd/fsync.c

+ 1 - 1
src/mman/msync.c

@@ -3,5 +3,5 @@
 
 int msync(void *start, size_t len, int flags)
 {
-	return syscall(SYS_msync, start, len, flags);
+	return syscall_cp(SYS_msync, start, len, flags);
 }

+ 1 - 1
src/unistd/fdatasync.c

@@ -3,5 +3,5 @@
 
 int fdatasync(int fd)
 {
-	return syscall(SYS_fdatasync, fd);
+	return syscall_cp(SYS_fdatasync, fd);
 }

+ 1 - 1
src/unistd/fsync.c

@@ -3,5 +3,5 @@
 
 int fsync(int fd)
 {
-	return syscall(SYS_fsync, fd);
+	return syscall_cp(SYS_fsync, fd);
 }