about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-05-09 20:01:01 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-05-09 20:01:01 +0000
commit9a45f54310573c190fa270e1f80d8307750305e9 (patch)
tree135f79c47c0879424944e74a10192e78eec66201 /ChangeLog
parent4fc12f0eda596b12fb27fb39ea4ac5e68ac4170e (diff)
downloadglibc-9a45f54310573c190fa270e1f80d8307750305e9.tar.gz
glibc-9a45f54310573c190fa270e1f80d8307750305e9.tar.xz
glibc-9a45f54310573c190fa270e1f80d8307750305e9.zip
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.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog10
1 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9f6a60c3f5..554b8082e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2017-05-09  Joseph Myers  <joseph@codesourcery.com>
+
+	* 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.
+
 2017-05-09  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
 	    Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>