Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 32915
b: refs/heads/master
c: d94a041
h: refs/heads/master
i:
  32913: 6dcfe14
  32911: e7f2883
v: v3
  • Loading branch information
Shailabh Nagar authored and Linus Torvalds committed Jul 31, 2006
1 parent 63ef005 commit 7fed566
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 14 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: 7d94dddd438bcba97db44f120da39bb001b5249f
refs/heads/master: d94a041519f3ab1ac023bf917619cd8c4a7d3c01
24 changes: 11 additions & 13 deletions trunk/kernel/taskstats.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,46 +121,45 @@ static int send_reply(struct sk_buff *skb, pid_t pid)
/*
* Send taskstats data in @skb to listeners registered for @cpu's exit data
*/
static int send_cpu_listeners(struct sk_buff *skb, unsigned int cpu)
static void send_cpu_listeners(struct sk_buff *skb, unsigned int cpu)
{
struct genlmsghdr *genlhdr = nlmsg_data((struct nlmsghdr *)skb->data);
struct listener_list *listeners;
struct listener *s, *tmp;
struct sk_buff *skb_next, *skb_cur = skb;
void *reply = genlmsg_data(genlhdr);
int rc, ret, delcount = 0;
int rc, delcount = 0;

rc = genlmsg_end(skb, reply);
if (rc < 0) {
nlmsg_free(skb);
return rc;
return;
}

rc = 0;
listeners = &per_cpu(listener_array, cpu);
down_read(&listeners->sem);
list_for_each_entry_safe(s, tmp, &listeners->list, list) {
list_for_each_entry(s, &listeners->list, list) {
skb_next = NULL;
if (!list_is_last(&s->list, &listeners->list)) {
skb_next = skb_clone(skb_cur, GFP_KERNEL);
if (!skb_next) {
nlmsg_free(skb_cur);
rc = -ENOMEM;
if (!skb_next)
break;
}
}
ret = genlmsg_unicast(skb_cur, s->pid);
if (ret == -ECONNREFUSED) {
rc = genlmsg_unicast(skb_cur, s->pid);
if (rc == -ECONNREFUSED) {
s->valid = 0;
delcount++;
rc = ret;
}
skb_cur = skb_next;
}
up_read(&listeners->sem);

if (skb_cur)
nlmsg_free(skb_cur);

if (!delcount)
return rc;
return;

/* Delete invalidated entries */
down_write(&listeners->sem);
Expand All @@ -171,7 +170,6 @@ static int send_cpu_listeners(struct sk_buff *skb, unsigned int cpu)
}
}
up_write(&listeners->sem);
return rc;
}

static int fill_pid(pid_t pid, struct task_struct *pidtsk,
Expand Down

0 comments on commit 7fed566

Please sign in to comment.