Hello, Peter. For this implemenation rt_sigqueueinfo()/rt_tgsigqueueinfo() were used to multiplex signals that are out of the host range. This enabled the use of a wider signal range with rt_sigqueueinfo(), rt_tgsigqueueinfo(), as well as kill() (for pid > 0) and tgkill(). A process can now use these system calls to send a range of signals which weren't supporeted before to itself or others threads or processes.
The tkill() system call and kill() with the argument pid <= 0 couldn't be implemented simply using this method because it requires acquiring information about, and sending simultaneous signals to multiple threads or processes and these functionalities are out of the scope of rt_sigqueueinfo()/rt_tgsigqueueinfo(). This patch set was primarily focused on expanding the range of real-time signals and making them usable but some limitations still remain. For example, the priority of those real-time signals, as defined by POSIX, doesn't depend on the actual signal number but on the host signal nuber which is used for multiplexing. As it now is, the functionaly is only enabled for signals that are higher-numbered then the host signals but I don't see a conceptual problem in expanding and testing the implenentation to include other signals (e.g. the signals that NPTL uses). Regards, Miloš