[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4A15DFA3.70802@nortel.com>
Date: Thu, 21 May 2009 17:11:31 -0600
From: "Chris Friesen" <cfriesen@...tel.com>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
CC: Simon Holm Thøgersen <odie@...aau.dk>,
linux-kernel <linux-kernel@...r.kernel.org>,
Michael Kerrisk <mtk.manpages@...glemail.com>,
Jean-Paul Calderone <exarkun@...stedmatrix.com>
Subject: Re: Allow signaling a process by all its thread ids?
Alan Cox wrote:
> You need to show that
> - The current API breaks stuff
> - The current API is absolutely invalid in posix
> - Changing it improves the functionality and power of the kernel
I think an argument could be made for these. A task is not necessarily
a process, and kill() is only defined to send a signal to one or more
processes. This introduces potential problems if a) it is possible to
send a signal to an individual tid, and b) a tid can be reused in a
different process.
We already have the tgkill() syscall, which fixes the ambiguity by
specifying both the pid and tid. This is what pthread_kill() uses under
the hood. The fact that it was seen as necessary (back in 2.5)
indicates that there are problems with kill() as currently implemented.
> - Changing it doesn't break existing applications
This last one is the kicker. As I mentioned in my other reply, I
suspect that making such a change would break a lot of (not-quite-POSIX)
applications that assume they can send a signal to particular threads
using kill().
I see analogies to the whole fsync() issue.
Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists