[CRIU] [PATCH] helper: Move service fds closing code to restore_one_helper()
Andrei Vagin
avagin at virtuozzo.com
Fri Apr 27 02:30:32 MSK 2018
Applied, thanks!
On Fri, Apr 20, 2018 at 01:10:22PM +0300, Kirill Tkhai wrote:
> There is no reasons we need this cleanup code in generic
> restore_one_task(), so let's move it for better readability.
>
> Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
> ---
> criu/cr-restore.c | 20 +++++++++++++-------
> 1 file changed, 13 insertions(+), 7 deletions(-)
>
> diff --git a/criu/cr-restore.c b/criu/cr-restore.c
> index db913b2da..54216b8ea 100644
> --- a/criu/cr-restore.c
> +++ b/criu/cr-restore.c
> @@ -1318,15 +1318,26 @@ static int wait_exiting_children(void)
> */
> static int restore_one_helper(void)
> {
> + int i;
> +
> if (prepare_fds(current))
> return -1;
>
> - return wait_exiting_children();
> + if (wait_exiting_children())
> + return -1;
> +
> + sfds_protected = false;
> + close_image_dir();
> + close_proc();
> + for (i = SERVICE_FD_MIN + 1; i < SERVICE_FD_MAX; i++)
> + close_service_fd(i);
> +
> + return 0;
> }
>
> static int restore_one_task(int pid, CoreEntry *core)
> {
> - int i, ret;
> + int ret;
>
> /* No more fork()-s => no more per-pid logs */
>
> @@ -1336,11 +1347,6 @@ static int restore_one_task(int pid, CoreEntry *core)
> ret = restore_one_zombie(core);
> else if (current->pid->state == TASK_HELPER) {
> ret = restore_one_helper();
> - sfds_protected = false;
> - close_image_dir();
> - close_proc();
> - for (i = SERVICE_FD_MIN + 1; i < SERVICE_FD_MAX; i++)
> - close_service_fd(i);
> } else {
> pr_err("Unknown state in code %d\n", (int)core->tc->task_state);
> ret = -1;
>
More information about the CRIU
mailing list