Quoting Yuto KAWAMURA(kawamuray) ([email protected]):
> Currently do_reboot_and_check() is decreasing timeout variable even if
> it is set to -1, so running 'lxc-stop --reboot --timeout=-1 ...' will
> exits immediately at end of second iteration of loop, without waiting
> container reboot.
> Also, there is no need to call gettimeofday if timeout is set to -1, so
> these statements should be evaluated only when timeout is enabled.
> 
> Signed-off-by: Yuto KAWAMURA(kawamuray) <[email protected]>

Acked-by: Serge E. Hallyn <[email protected]>

> ---
>  src/lxc/lxc_stop.c | 26 +++++++++++++++-----------
>  1 file changed, 15 insertions(+), 11 deletions(-)
> 
> diff --git a/src/lxc/lxc_stop.c b/src/lxc/lxc_stop.c
> index cb2fee0..7054532 100644
> --- a/src/lxc/lxc_stop.c
> +++ b/src/lxc/lxc_stop.c
> @@ -110,19 +110,23 @@ static int do_reboot_and_check(struct lxc_arguments *a, 
> struct lxc_container *c)
>               if (newpid != -1 && newpid != pid)
>                       return 0;
>  
> -             ret = gettimeofday(&tv, NULL);
> -             if (ret)
> -                     break;
> -             curtime = tv.tv_sec;
> +             if (timeout != -1) {
> +                     ret = gettimeofday(&tv, NULL);
> +                     if (ret)
> +                             break;
> +                     curtime = tv.tv_sec;
> +             }
>  
>               sleep(1);
> -             ret = gettimeofday(&tv, NULL);
> -             if (ret)
> -                     break;
> -             elapsed_time = tv.tv_sec - curtime;
> -             if (timeout != -1 && timeout - elapsed_time <= 0)
> -                     break;
> -             timeout -= elapsed_time;
> +             if (timeout != -1) {
> +                     ret = gettimeofday(&tv, NULL);
> +                     if (ret)
> +                             break;
> +                     elapsed_time = tv.tv_sec - curtime;
> +                     if (timeout - elapsed_time <= 0)
> +                             break;
> +                     timeout -= elapsed_time;
> +             }
>       }
>  
>  out:
> -- 
> 1.8.5.5
> 
> _______________________________________________
> lxc-devel mailing list
> [email protected]
> http://lists.linuxcontainers.org/listinfo/lxc-devel
_______________________________________________
lxc-devel mailing list
[email protected]
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to