From 8b7497a5efbe73dc082b211acdc623f45df6cdfe Mon Sep 17 00:00:00 2001 From: Stanislav Kinsbursky Date: Fri, 16 Mar 2012 14:25:00 +0400 Subject: [PATCH] dump: dump pstree outside tasks loop No need in checking the pid in every task loop cycle, just dump it at the beginning and that's it. Signed-off-by: Stanislav Kinsbursky Signed-off-by: Pavel Emelyanov --- cr-dump.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cr-dump.c b/cr-dump.c index de7310df8..7be2a96bd 100644 --- a/cr-dump.c +++ b/cr-dump.c @@ -1433,18 +1433,18 @@ int cr_dump_tasks(pid_t pid, const struct cr_options *opts) collect_sockets(); + cr_fdset = cr_dump_fdset_open(pid, CR_FD_DESC_USE(CR_FD_PSTREE), cr_fdset); + if (!cr_fdset) + goto err; + if (dump_pstree(pid, &pstree_list, cr_fdset)) + goto err; + close_cr_fdset(&cr_fdset); + list_for_each_entry(item, &pstree_list, list) { cr_fdset = cr_dump_fdset_open(item->pid, CR_FD_DESC_NONE, NULL); if (!cr_fdset) goto err; - if (item->pid == pid) { - if (!cr_dump_fdset_open(item->pid, CR_FD_DESC_USE(CR_FD_PSTREE), cr_fdset)) - goto err; - if (dump_pstree(pid, &pstree_list, cr_fdset)) - goto err; - } - /* * Prepare for socket queues in advance. They are not per-task, * but per-someother-task which makes restore tricky. Thus save