diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/recvfrom.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/recvfrom.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/recvfrom.c b/sysdeps/unix/sysv/linux/recvfrom.c index 90eb40d603..df4fecddf4 100644 --- a/sysdeps/unix/sysv/linux/recvfrom.c +++ b/sysdeps/unix/sysv/linux/recvfrom.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2015 Free Software Foundation, Inc. +/* Copyright (C) 2015-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -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) |