merging fadvise64_64 fallback?

Mike Frysinger vapier@gentoo.org
Tue Dec 4 07:15:00 GMT 2012


this patch still applies :)
http://sourceware.org/ml/libc-alpha/2004-09/msg00179.html
-mike

--- a/sysdeps/unix/sysv/linux/posix_fadvise.c
+++ b/sysdeps/unix/sysv/linux/posix_fadvise.c
@@ -35,6 +35,19 @@
     return INTERNAL_SYSCALL_ERRNO (ret, err);
   return 0;
 #else
+# ifdef __NR_fadvise64_64
+  INTERNAL_SYSCALL_DECL (err);  
+  int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
+			      __LONG_LONG_PAIR ((long) (offset >> 31),
+						(long) offset),
+			      __LONG_LONG_PAIR ((long) (len >> 31),
+						(long) len),
+			      advise);
+  if (INTERNAL_SYSCALL_ERROR_P (ret, err))
+    return INTERNAL_SYSCALL_ERRNO (ret, err);
+  return 0;
+# else
   return ENOSYS;
+# endif
 #endif
 }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20121204/9edb4ef0/attachment.sig>


More information about the Libc-alpha mailing list