diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/recvfrom.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/recvfrom.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/recvfrom.c b/sysdeps/unix/sysv/linux/recvfrom.c index 90eb40d..19f59a7 100644 --- a/sysdeps/unix/sysv/linux/recvfrom.c +++ b/sysdeps/unix/sysv/linux/recvfrom.c @@ -21,13 +21,20 @@ #include <sysdep-cancel.h> #include <socketcall.h> +#include <kernel-features.h> +#include <sys/syscall.h> ssize_t __libc_recvfrom (int fd, void *buf, size_t len, int flags, __SOCKADDR_ARG addr, socklen_t *addrlen) { +#ifdef __ASSUME_RECVFROM_SYSCALL + return SYSCALL_CANCEL (recvfrom, fd, buf, len, flags, addr.__sockaddr__, + addrlen); +#else return SOCKETCALL_CANCEL (recvfrom, fd, buf, len, flags, addr.__sockaddr__, addrlen); +#endif } weak_alias (__libc_recvfrom, recvfrom) weak_alias (__libc_recvfrom, __recvfrom) |