Commit a771fe18 by Dwight Engen Committed by Serge Hallyn

change lxc-autostart shutdown to behave like lxc-stop

It is desirable to have a mode where a soft shutdown is requested, but then do a hard shutdown if after some time period the container has not shut down. This the default behaviour of lxc-stop, but is not currently possible with lxc-autostart. This change makes this the default behaviour when shutdown is specified to lxc-autostart. This will be very useful for init scripts. An indefinte wait for soft shutdown (though I'm not sure how that would be useful) is still possible by passing a timeout of 0. Change default timeout value to 60 seconds to match lxc-stop Signed-off-by: 's avatarDwight Engen <dwight.engen@oracle.com> Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>
parent 99c2fb07
...@@ -103,8 +103,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ...@@ -103,8 +103,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
</term> </term>
<listitem> <listitem>
<para> <para>
Only request a clean shutdown, do not kill the Request a clean shutdown. If a
container tasks if the clean shutdown fails. <optional>-t timeout</optional> greater than 0 is
given and the container has not shut down within
this period, it will be killed as with the
<optional>-k kill</optional> option.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
...@@ -71,7 +71,7 @@ Options:\n\ ...@@ -71,7 +71,7 @@ Options:\n\
.options = my_longopts, .options = my_longopts,
.parser = my_parser, .parser = my_parser,
.checker = NULL, .checker = NULL,
.timeout = 30, .timeout = 60,
}; };
int lists_contain_common_entry(struct lxc_list *p1, struct lxc_list *p2) { int lists_contain_common_entry(struct lxc_list *p1, struct lxc_list *p2) {
...@@ -273,7 +273,6 @@ int main(int argc, char *argv[]) ...@@ -273,7 +273,6 @@ int main(int argc, char *argv[])
if (my_args.list) if (my_args.list)
printf("%s\n", c->name); printf("%s\n", c->name);
else { else {
my_args.timeout = 0;
if (!c->shutdown(c, my_args.timeout)) if (!c->shutdown(c, my_args.timeout))
fprintf(stderr, "Error shutting down container: %s\n", c->name); fprintf(stderr, "Error shutting down container: %s\n", c->name);
} }
......
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