Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758892AbZCXKgs (ORCPT ); Tue, 24 Mar 2009 06:36:48 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756337AbZCXKgi (ORCPT ); Tue, 24 Mar 2009 06:36:38 -0400 Received: from www.tglx.de ([62.245.132.106]:48314 "EHLO www.tglx.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754210AbZCXKgh (ORCPT ); Tue, 24 Mar 2009 06:36:37 -0400 Message-Id: <20090324102516.459441533@linutronix.de> User-Agent: quilt/0.47-1 Date: Tue, 24 Mar 2009 10:35:04 -0000 From: Thomas Gleixner To: LKML Cc: Roland McGrath , Oleg Nesterov , Michael Kerrisk , Ulrich Drepper , Andrew Morton , Ingo Molnar Subject: [patch 0/3] add rt_tgsigqueueinfo syscall -V2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1830 Lines: 63 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/