[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libc 2.3 and RT signals broken



SIGRTMIN has changed behavior recently in 2.3; at the same time as:

2002-09-18  Ulrich Drepper  <drepper@redhat.com>

        * signal/allocrtsig.c: Move to...
        * sysdeps/generic/allocrtsig.c: ...here.  New file.

as far as I can tell.

The problem is something I ran into in GDB today: the location of a
source file overrides the normal search path.  If a file in
sysdeps/generic/ includes a header using "", the copy in
sysdeps/generic/ will win.  So we get sysdeps/generic/testrtsig.h
instead of the sysdeps/unix/sysv/linux/testrtsig.h, and
kernel_has_rtsig always returns 0.

So SIGRTMIN is -1.  Oops.

Why does allocrtsig.c have to be in sysdeps/generic?  If it does need
to, then we will have to duplicate it in sysdeps/unix/sysv/linux/; but
since nothing overrides it I don't see why it had to move out of
signal/.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



Reply to: