#include "log.h"
#include "utils.h"
-#define OPT_NO_LOCK OPT_USAGE + 1
-#define OPT_NO_KILL OPT_USAGE + 2
+#define OPT_NO_LOCK (OPT_USAGE + 1)
+#define OPT_NO_KILL (OPT_USAGE + 2)
lxc_log_define(lxc_stop, lxc);
-static int my_parser(struct lxc_arguments *args, int c, char *arg)
-{
- switch (c) {
- case 'r':
- args->reboot = 1;
- break;
- case 'W':
- args->nowait = 1;
- break;
- case 't':
- if (lxc_safe_long(arg, &args->timeout) < 0)
- return -1;
- break;
- case 'k':
- args->hardstop = 1;
- break;
- case OPT_NO_LOCK:
- args->nolock = 1;
- break;
- case OPT_NO_KILL:
- args->nokill = 1;
- break;
- }
- return 0;
-}
+static int my_parser(struct lxc_arguments *args, int c, char *arg);
static const struct option my_longopts[] = {
{"reboot", no_argument, 0, 'r'},
};
static struct lxc_arguments my_args = {
- .progname = "lxc-stop",
- .help = "\
+ .progname = "lxc-stop",
+ .help = "\
--name=NAME\n\
\n\
lxc-stop stops a container with the identifier NAME\n\
--nolock Avoid using API locks\n\
--nokill Only request clean shutdown, don't force kill after timeout\n\
--rcfile=FILE Load configuration file FILE\n",
- .options = my_longopts,
- .parser = my_parser,
- .checker = NULL,
- .timeout = -2,
+ .options = my_longopts,
+ .parser = my_parser,
+ .checker = NULL,
+ .log_priority = "ERROR",
+ .log_file = "none",
+ .timeout = -2,
};
+static int my_parser(struct lxc_arguments *args, int c, char *arg)
+{
+ switch (c) {
+ case 'r':
+ args->reboot = 1;
+ break;
+ case 'W':
+ args->nowait = 1;
+ break;
+ case 't':
+ if (lxc_safe_long(arg, &args->timeout) < 0)
+ return -1;
+ break;
+ case 'k':
+ args->hardstop = 1;
+ break;
+ case OPT_NO_LOCK:
+ args->nolock = 1;
+ break;
+ case OPT_NO_KILL:
+ args->nokill = 1;
+ break;
+ }
+ return 0;
+}
+
int main(int argc, char *argv[])
{
struct lxc_container *c;
if (lxc_arguments_parse(&my_args, argc, argv))
exit(ret);
- /* Only create log if explicitly instructed */
- if (my_args.log_file || my_args.log_priority) {
- log.name = my_args.name;
- log.file = my_args.log_file;
- log.level = my_args.log_priority;
- log.prefix = my_args.progname;
- log.quiet = my_args.quiet;
- log.lxcpath = my_args.lxcpath[0];
-
- if (lxc_log_init(&log))
- exit(ret);
- }
+ log.name = my_args.name;
+ log.file = my_args.log_file;
+ log.level = my_args.log_priority;
+ log.prefix = my_args.progname;
+ log.quiet = my_args.quiet;
+ log.lxcpath = my_args.lxcpath[0];
+
+ if (lxc_log_init(&log))
+ exit(ret);
/* Set default timeout */
if (my_args.timeout == -2) {