2013/2/25 Pavel Emelyanov <xemul@xxxxxxxxxxxxx>: >> + for (i = 0; i < arg.nr; i++) { >> + off = arg.off + i; >> + >> + spin_lock_irq(&child->sighand->siglock); >> + list_for_each_entry(q, &pending->list, list) { >> + if (!off--) { >> + copy_siginfo(&info, &q->info); >> + break; >> + } >> + } >> + spin_unlock_irq(&child->sighand->siglock); > > What's the point of arg.nr if you for every single siginfo drop the lock > and perform linear search anyway? arg.nr may be useful, if we will decide to optimize this part in a future. Currently the problem with complexity of finding a signal in a queue is true not only for this code. It exists for delivering real-time signals as well. Probably in a future this problem will be fixed for both cases by the same way. Thanks, Andrew -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html