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
