lkml.org 
[lkml]   [2006]   [Feb]   [11]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC][PATCH 04/20] pspace: Allow multiple instaces of the process id namespace
From(Eric W. Biederman)
DateSat, 11 Feb 2006 02:42:25 -0700
Kirill Korotaev <dev@sw.ru> writes:

>> + * kill_pspace_info() sends a signal to all processes in a process space.
>> + * This is what kill(-1, sig) does.
>> + */
>> +
>> +int __kill_pspace_info(int sig, struct siginfo *info, struct pspace *pspace)
>> +{
>> +	struct task_struct *p = NULL;
>> +	int retval = 0, count = 0;
>> +
>> +	for_each_process(p) {
>> +		int err;
>> +		/* Skip the current pspace leader */
>> +		if (current_pspace_leader(p))
>> +			continue;
>> +
>> +		/* Skip the sender of the signal */
>> +		if (p->signal == current->signal)
>> +			continue;
>> +
>> +		/* Skip processes outside the target process space */
>> +		if (!in_pspace(pspace, p))
>> +			continue;
>> +
>> +		/* Finally it is a good process send the signal. */
>> +		err = group_send_sig_info(sig, info, p);
>> +		++count;
>> +		if (err != -EPERM)
>> +			retval = err;
> <<<<
> why EPERM is ok?
> do you want to miss some tasks?


A good question.  This is how kill -1 is currently implemented.
It doesn't align with how signals are sent to a process group,
so it could very well be wrong.

>> +	}
>> +	return count ? retval : -ESRCH;
>> +}
>> +
-
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/

\
 
 \ /
  Last update: 2006-02-11 10:47    [from the cache]
©2003-2008