bash "kill -l" builtin gives wrong numbers for SIGRTMIN+n signals
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
bash (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
The command "grep SIGRTMIN /usr/include/ -r" gives me
/usr/include/
and a bunch of other defines with the same value. But if I ask bash's "kill" builtin via "kill -l", I get "34) SIGRTMIN". What's interesting, there's actually no number 32 listed at all. Number 34 goes right after 31, where the right 32 should appear. The other names defined via SIGRTMIN are also wrong.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: bash 4.2-2ubuntu2.6
ProcVersionSign
Uname: Linux 3.2.0-76-generic x86_64
NonfreeKernelMo
ApportVersion: 2.0.1-0ubuntu17.6
Architecture: amd64
Date: Tue Mar 17 18:34:25 2015
InstallationMedia: Kubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120423)
MarkForUpload: True
ProcEnviron:
LANGUAGE=
TERM=xterm
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: bash
UpgradeStatus: No upgrade log present (probably fresh install)
On executing the following command
$ grep SIGRTMIN /usr/include/ -r asm-generic/ signal. h:#define SIGRTMIN 32 x86_64- linux-gnu/ asm/signal. h:#define SIGRTMIN 32 x86_64- linux-gnu/ bits/signum. h:#define SIGRTMIN (__libc_ current_ sigrtmin ()) x86_64- linux-gnu/ bits/signum. h:#define __SIGRTMIN 32
/usr/include/
/usr/include/
/usr/include/
/usr/include/
and checking the source code of glibc-2. 19/signal/ allocrtsig. c current_ sigrtmin (void)
...
/* Return number of available real-time signal with highest priority. */
int
__libc_
{
#ifdef __SIGRTMIN
if (!initialized)
init ();
#endif
return current_rtmin;
}
...
It seems that bash uses the value of current_rtmin