Subject: [patch 0/3] add rt_tgsigqueueinfo syscall -V2
Date: Tuesday 24th March 2009 10:35:04 UTC (over 7 years ago)
sys_kill has a counterpart sys_tgkill which allows to send signals to a particular thread. sys_rt_sigqueueinfo is lacking such a counterpart. Aside of the asymetry it is a show stopper for migrating applications from other unix-alike RTOSes. The following patch series implements rt_tgsigqueueinfo and hooks it up for x86. Changes since V1: - match rt_siqqueueinfo and rt_tgsigqueueinfo handling of info.si_pid/si_uid Find below the raw documentation. Thanks, tglx ---- NAME rt_tgsigqueueinfo - Send signal information to a signal to a thread SYNOPSIS long sys_rt_tgsigqueueinfo (int tgid, int tid, int sig, siginfo_t *uinfo); DESCRIPTION rt_tgsigqueueinfo sends signal sig information uinfo to the thread with the thread ID tid in the thread group tgid. (By contrast, rt_sigqueueinfo(2) can only be used to send a signal info to a process (i.e., thread group) as a whole, and the signal will be delivered to an arbitrary thread within that process.) RETURN VALUE rt_tgsigqueueinfo returns 0 on success; otherwise, rt_sigqueueinfo returns one of the errors listed in the "Errors" section. ERRORS -EFAULT An invalid value for uinfo was specified. -EINVAL An invalid TID, TGID or signal was specified. -EPERM Permission denied. For the required permissions, see rt_sigqueueinfo(2). -ESRCH No process with the specified thread ID and thread group ID exists.