Hi, do you have any objections to this patch? It adds a '-Q' option to lxc-monitor to have lxc-monitor quit when the monitored container stops.
This is used by lxc-start-ephemeral to track a container's death. Index: ephemeral/src/lxc/lxc_monitor.c =================================================================== --- ephemeral.orig/src/lxc/lxc_monitor.c 2011-08-03 23:00:42.925819531 -0500 +++ ephemeral/src/lxc/lxc_monitor.c 2011-08-03 23:43:43.396909384 -0500 @@ -36,9 +36,18 @@ lxc_log_define(lxc_monitor_ui, lxc_monitor); static const struct option my_longopts[] = { + {"quit-on-stop", no_argument, 0, 'Q'}, LXC_COMMON_OPTIONS }; +static int my_parser(struct lxc_arguments* args, int c, char* arg) +{ + switch (c) { + case 'Q': args->quit_on_stop = 1; break; + } + return 0; +} + static struct lxc_arguments my_args = { .progname = "lxc-monitor", .help = "\ @@ -47,11 +56,13 @@ lxc-monitor monitors the state of the NAME container\n\ \n\ Options :\n\ - -n, --name=NAME NAME for name of the container\n\ - NAME may be a regular expression", + -Q, --quit-on-stop quit when the container stops\n\ + -n, --name=NAME NAME for name of the container\n\ + NAME may be a regular expression", .options = my_longopts, - .parser = NULL, + .parser = my_parser, .checker = NULL, + .quit_on_stop = 0, }; int main(int argc, char *argv[]) @@ -95,6 +106,8 @@ case lxc_msg_state: printf("'%s' changed state to [%s]\n", msg.name, lxc_state2str(msg.value)); + if (msg.value == STOPPED && my_args.quit_on_stop) + goto quit; break; default: /* ignore garbage */ @@ -102,6 +115,7 @@ } } +quit: regfree(&preg); return 0; Index: ephemeral/src/lxc/arguments.h =================================================================== --- ephemeral.orig/src/lxc/arguments.h 2011-08-03 23:32:20.905831229 -0500 +++ ephemeral/src/lxc/arguments.h 2011-08-03 23:32:37.625831332 -0500 @@ -58,6 +58,9 @@ /* for lxc-wait */ char *states; + /* for lxc-shutdown*/ + int quit_on_stop; + /* remaining arguments */ char *const *argv; int argc; ------------------------------------------------------------------------------ BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA The must-attend event for mobile developers. Connect with experts. Get tools for creating Super Apps. See the latest technologies. Sessions, hands-on labs, demos & much more. Register early & save! http://p.sf.net/sfu/rim-blackberry-1 _______________________________________________ Lxc-users mailing list Lxc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-users