]> sourceware.org Git - glibc.git/commit
Simplify recvmmsg code.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 9 May 2017 20:01:01 +0000 (20:01 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 9 May 2017 20:01:01 +0000 (20:01 +0000)
commit9a45f54310573c190fa270e1f80d8307750305e9
tree135f79c47c0879424944e74a10192e78eec66201
parent4fc12f0eda596b12fb27fb39ea4ac5e68ac4170e
Simplify recvmmsg code.

Now we can assume a kernel with recvmmsg support, this patch
simplifies the implementation to be similar to that for accept4:
either using socketcall or the syscall according to whether the
syscall is known to be available, without further fallback
implementations.

(In fact further simplification is possible, getting rid of the
__ASSUME_*_SYSCALL_WITH_SOCKETCALL macros now that the minimum kernel
is guaranteed support for all of accept4, recvmmsg, sendmmsg, whether
through syscalls or through socketcall.  I intend to do that for all
of accept4 / recvmmsg / sendmmsg together - so making their
implementations just like those for older socket functions - once the
basic cleanup for 3.2 minimum kernel is done for sendmmsg as well as
recvmmsg.)

Tested for x86_64 and x86.

* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_RECVMMSG_SYSCALL): Define unconditionally.
(__ASSUME_RECVMMSG_SOCKETCALL): Remove macro.
(__ASSUME_RECVMMSG): Likewise.
* sysdeps/unix/sysv/linux/recvmmsg.c (recvmmsg): Define using
recvmmsg syscall if it can be assumed to be present, socketcall
otherwise, with no fallback for runtime failure.
ChangeLog
sysdeps/unix/sysv/linux/kernel-features.h
sysdeps/unix/sysv/linux/recvmmsg.c
This page took 0.043451 seconds and 5 git commands to generate.