Commit 3f256945 authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by Cyrill Gorcunov

dump: Sanitize threads dumping

Merge two calls into one helper. For future.
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
parent 3ab9285f
......@@ -738,14 +738,14 @@ err:
return ret;
}
static int parse_threads(struct pstree_item *item, pid_t pid)
static int parse_threads(struct pstree_item *item)
{
struct dirent *de;
DIR *dir;
u32 *t = NULL;
int nr = 1;
dir = opendir_proc(pid, "task");
dir = opendir_proc(item->pid, "task");
if (!dir)
return -1;
......@@ -876,6 +876,17 @@ err:
return -1;
}
static int collect_threads(struct pstree_item *item)
{
int ret;
ret = parse_threads(item);
if (!ret)
ret = seize_threads(item);
return ret;
}
static struct pstree_item *collect_task(pid_t pid, struct list_head *list)
{
int ret;
......@@ -909,11 +920,7 @@ static struct pstree_item *collect_task(pid_t pid, struct list_head *list)
item->state = TASK_DEAD;
}
ret = parse_threads(item, pid);
if (ret < 0)
goto err_close;
ret = seize_threads(item);
ret = collect_threads(item);
if (ret < 0)
goto err_close;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment