On 9/1/08, Denys Vlasenko <dvlasenk@xxxxxxxxxx> wrote:Since there may be programs which use the fact that
setpriority(PRIO_PROCESS, tid, value)
prior to this patch was setting priority for selected thread,
this behavior is retained in case when tid != pid.
IOW: with PRIO_PROCESS, if pid specifies a thread group leader,
all threads' prios are set. Otherwise, only selected thread's priority
is set. (Alternative can be to just fail with ESRCH).
I would expect
setpriority(PRIO_PROCESS, getpid())
and
setpriority(PRIO_PROCESS, 0)
to have the same affect (because: which == PRIO_PRCESS, who == 0
conventionally means "the calling process").
But they do not: the latter call only changes the priority of the
calling thread. Is this intended?