Commit f824d8c3 authored by Andrey Vagin's avatar Andrey Vagin Committed by Pavel Emelyanov

restore: remove restore_one_fake, which duplicates the code

Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 33c70a24
...@@ -735,14 +735,6 @@ static inline int sig_fatal(int sig) ...@@ -735,14 +735,6 @@ static inline int sig_fatal(int sig)
struct task_entries *task_entries; struct task_entries *task_entries;
static int restore_one_fake(void)
{
/* We should wait here, otherwise last_pid will be changed. */
futex_wait_while(&task_entries->start, CR_STATE_FORKING);
futex_wait_while(&task_entries->start, CR_STATE_RESTORE_PGID);
return 0;
}
static int restore_one_zombie(int pid, CoreEntry *core) static int restore_one_zombie(int pid, CoreEntry *core)
{ {
int exit_code = core->tc->exit_code; int exit_code = core->tc->exit_code;
...@@ -1203,10 +1195,11 @@ static int restore_task_with_children(void *_arg) ...@@ -1203,10 +1195,11 @@ static int restore_task_with_children(void *_arg)
if (current->pgid != current->pid.virt) if (current->pgid != current->pid.virt)
restore_pgid(); restore_pgid();
restore_finish_stage(CR_STATE_RESTORE_PGID);
if (current->state == TASK_HELPER) if (current->state == TASK_HELPER)
return restore_one_fake(); return 0;
restore_finish_stage(CR_STATE_RESTORE_PGID);
return restore_one_task(current->pid.virt, ca->core); return restore_one_task(current->pid.virt, ca->core);
} }
...@@ -1216,9 +1209,8 @@ static inline int stage_participants(int next_stage) ...@@ -1216,9 +1209,8 @@ static inline int stage_participants(int next_stage)
case CR_STATE_RESTORE_NS: case CR_STATE_RESTORE_NS:
return 1; return 1;
case CR_STATE_FORKING: case CR_STATE_FORKING:
return task_entries->nr_tasks + task_entries->nr_helpers;
case CR_STATE_RESTORE_PGID: case CR_STATE_RESTORE_PGID:
return task_entries->nr_tasks; return task_entries->nr_tasks + task_entries->nr_helpers;
case CR_STATE_RESTORE: case CR_STATE_RESTORE:
case CR_STATE_RESTORE_SIGCHLD: case CR_STATE_RESTORE_SIGCHLD:
return task_entries->nr_threads; return task_entries->nr_threads;
......
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