]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
api: convert lxc_wait, lxc_freeze, and lxc_unfreeze
authorSerge Hallyn <serge.hallyn@ubuntu.com>
Wed, 21 Aug 2013 21:53:52 +0000 (16:53 -0500)
committerSerge Hallyn <serge.hallyn@ubuntu.com>
Thu, 22 Aug 2013 00:21:56 +0000 (19:21 -0500)
These are the last of the simpler conversions.  Start, execute,
kill, info and attach remain to be done.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Dwight Engen <dwight.engen@oracle.com>
src/lxc/lxc_freeze.c
src/lxc/lxc_unfreeze.c
src/lxc/lxc_wait.c

index 3bd5e286641d8479563eb4dde79943d5886f8946..9628e78f177b2d1fa0d1fc3055522fce49868d13 100644 (file)
 
 #include <lxc/lxc.h>
 #include <lxc/log.h>
+#include <lxc/lxccontainer.h>
 
 #include "arguments.h"
 
+lxc_log_define(lxc_freeze_ui, lxc_cgroup);
+
 static const struct option my_longopts[] = {
        LXC_COMMON_OPTIONS
 };
@@ -51,13 +54,28 @@ Options :\n\
 
 int main(int argc, char *argv[])
 {
+       struct lxc_container *c;
+
        if (lxc_arguments_parse(&my_args, argc, argv))
-               return -1;
+               exit(1);
 
        if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
                         my_args.progname, my_args.quiet, my_args.lxcpath[0]))
-               return -1;
+               exit(1);
 
-       return lxc_freeze(my_args.name, my_args.lxcpath[0]);
-}
+       c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
+       if (!c) {
+               ERROR("No such container: %s:%s", my_args.lxcpath[0], my_args.name);
+               exit(1);
+       }
 
+       if (!c->freeze(c)) {
+               ERROR("Failed to freeze %s:%s", my_args.lxcpath[0], my_args.name);
+               lxc_container_put(c);
+               exit(1);
+       }
+
+       lxc_container_put(c);
+
+       return 0;
+}
index 095f2908400781362cc321e225d54245536c730b..840467a622f4d9bb5c1b392ce9ff32a627d159df 100644 (file)
 
 #include <lxc/lxc.h>
 #include <lxc/log.h>
+#include <lxc/lxccontainer.h>
 
 #include "arguments.h"
 
+lxc_log_define(lxc_unfreeze_ui, lxc_cgroup);
+
 static const struct option my_longopts[] = {
        LXC_COMMON_OPTIONS
 };
@@ -50,13 +53,28 @@ Options :\n\
 
 int main(int argc, char *argv[])
 {
+       struct lxc_container *c;
+
        if (lxc_arguments_parse(&my_args, argc, argv))
-               return -1;
+               exit(1);
 
        if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
                         my_args.progname, my_args.quiet, my_args.lxcpath[0]))
-               return -1;
+               exit(1);
 
-       return lxc_unfreeze(my_args.name, my_args.lxcpath[0]);
-}
+       c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
+       if (!c) {
+               ERROR("No such container: %s:%s", my_args.lxcpath[0], my_args.name);
+               exit(1);
+       }
 
+       if (!c->unfreeze(c)) {
+               ERROR("Failed to unfreeze %s:%s", my_args.lxcpath[0], my_args.name);
+               lxc_container_put(c);
+               exit(1);
+       }
+
+       lxc_container_put(c);
+
+       return 0;
+}
index f1a065c1fe680120ad64fd0c481d6174eccd4062..afbb81a9377bc287b73bdb79af0471b0a56905a3 100644 (file)
@@ -30,7 +30,7 @@
 
 #include <lxc/lxc.h>
 #include <lxc/log.h>
-#include <lxc/monitor.h>
+#include <lxc/lxccontainer.h>
 #include "arguments.h"
 
 lxc_log_define(lxc_wait_ui, lxc_monitor);
@@ -80,6 +80,8 @@ Options :\n\
 
 int main(int argc, char *argv[])
 {
+       struct lxc_container *c;
+
        if (lxc_arguments_parse(&my_args, argc, argv))
                return -1;
 
@@ -87,6 +89,13 @@ int main(int argc, char *argv[])
                         my_args.progname, my_args.quiet, my_args.lxcpath[0]))
                return -1;
 
-       return lxc_wait(strdup(my_args.name), my_args.states, my_args.timeout,
-                       my_args.lxcpath[0]);
+       c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
+       if (!c)
+               return -1;
+
+       if (!c->wait(c, my_args.states, my_args.timeout)) {
+               lxc_container_put(c);
+               return -1;
+       }
+       return 0;
 }