Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 84671
b: refs/heads/master
c: d36174b
h: refs/heads/master
i:
  84669: 435f932
  84667: 69bdfc8
  84663: b16a391
  84655: ba55246
  84639: 7d3a65a
  84607: 824f890
v: v3
  • Loading branch information
Oleg Nesterov authored and Linus Torvalds committed Feb 8, 2008
1 parent b327a46 commit b1f82ca
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f374ada53bd1ca7c16d7607369fccc6769704956
refs/heads/master: d36174bc2bce0372693a9cfbdef8b2689c9982cb
15 changes: 12 additions & 3 deletions trunk/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1050,17 +1050,26 @@ int kill_pgrp_info(int sig, struct siginfo *info, struct pid *pgrp)

int kill_pid_info(int sig, struct siginfo *info, struct pid *pid)
{
int error;
int error = -ESRCH;
struct task_struct *p;

rcu_read_lock();
if (unlikely(sig_needs_tasklist(sig)))
read_lock(&tasklist_lock);

retry:
p = pid_task(pid, PIDTYPE_PID);
error = -ESRCH;
if (p)
if (p) {
error = group_send_sig_info(sig, info, p);
if (unlikely(error == -ESRCH))
/*
* The task was unhashed in between, try again.
* If it is dead, pid_task() will return NULL,
* if we race with de_thread() it will find the
* new leader.
*/
goto retry;
}

if (unlikely(sig_needs_tasklist(sig)))
read_unlock(&tasklist_lock);
Expand Down

0 comments on commit b1f82ca

Please sign in to comment.