[arch-dev-public] Udev 145, signalfd(), and glibc with older kernels

Dan McGee dpmcgee at gmail.com
Mon Aug 10 16:32:45 EDT 2009


So as has been brought up in other threads, udev 145 uses signalfd(),
which unfortunately seems to be absent in older kernels. That is only
half the story.

>From this Debian bug
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=537509), glibc 2.9
and later unfortunately broke compatibility with the older signalfd
and eventfd syscalls that are present in all kernels after 2.6.22. A
new syscall (signalfd4) was introduced in 2.6.27, and for some reason
glibc decided to completely switch to this rather than be
backwards-compatible.

Long story short- if we apply this patch
(http://patch-tracking.debian.net/patch/series/dl/eglibc/2.9-23+multiarch.2/any/cvs-signalfd-eventfd.diff)
from the Debian patch collection[1], we can make our glibc, and thus
udev, compatible with modern-ish kernels out there and not cause
unnecessary breakage for users. It should have nearly zero impact for
anyone else as glibc will still prefer the new syscall.

Anyone, glibc maintainer, objections or thoughts?

-Dan

[1] Other Debian patches:
http://patch-tracking.debian.net/package/eglibc/2.9-23+multiarch.2


More information about the arch-dev-public mailing list