diff options
author | Michel Normand <normand@fr.ibm.com> | 2009-11-17 22:57:46 +0100 |
---|---|---|
committer | Daniel Lezcano <dlezcano@fr.ibm.com> | 2009-11-17 22:57:46 +0100 |
commit | 25c2aca55a82447b488eeb0b88e13da1e04871ae (patch) | |
tree | 880c29b4d28563a2f5d312dc6c4e1964c174f3c9 | |
parent | add capabilities for lxc-checkpoint (diff) | |
download | lxc-25c2aca55a82447b488eeb0b88e13da1e04871ae.tar.gz lxc-25c2aca55a82447b488eeb0b88e13da1e04871ae.tar.bz2 lxc-25c2aca55a82447b488eeb0b88e13da1e04871ae.zip |
export set_state function
This function will be needed for the restart function.
Signed-off-by: Michel Normand <normand@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
-rw-r--r-- | src/lxc/start.c | 14 | ||||
-rw-r--r-- | src/lxc/start.h | 1 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/lxc/start.c b/src/lxc/start.c index e59b4e3..2946624 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -147,7 +147,7 @@ static int sigchld_handler(int fd, void *data, return 1; } -static int set_state(const char *name, struct lxc_handler *handler, lxc_state_t state) +int lxc_set_state(const char *name, struct lxc_handler *handler, lxc_state_t state) { handler->state = state; lxc_monitor_send_state(name, state); @@ -241,7 +241,7 @@ struct lxc_handler *lxc_init(const char *name, const char *rcfile) memset(handler, 0, sizeof(*handler)); /* Begin the set the state to STARTING*/ - if (set_state(name, handler, STARTING)) { + if (lxc_set_state(name, handler, STARTING)) { ERROR("failed to set state '%s'", lxc_state2str(STARTING)); goto out_free; } @@ -296,7 +296,7 @@ out: out_delete_tty: lxc_delete_tty(&handler->conf.tty_info); out_aborting: - set_state(name, handler, ABORTING); + lxc_set_state(name, handler, ABORTING); out_free: free(handler); handler = NULL; @@ -308,8 +308,8 @@ void lxc_fini(const char *name, struct lxc_handler *handler) /* The STOPPING state is there for future cleanup code * which can take awhile */ - set_state(name, handler, STOPPING); - set_state(name, handler, STOPPED); + lxc_set_state(name, handler, STOPPING); + lxc_set_state(name, handler, STOPPED); lxc_unlink_nsgroup(name); if (handler) { @@ -323,7 +323,7 @@ void lxc_fini(const char *name, struct lxc_handler *handler) void lxc_abort(const char *name, struct lxc_handler *handler) { - set_state(name, handler, ABORTING); + lxc_set_state(name, handler, ABORTING); kill(handler->pid, SIGKILL); } @@ -465,7 +465,7 @@ int lxc_spawn(const char *name, struct lxc_handler *handler, char *const argv[]) goto out_abort; } - if (set_state(name, handler, RUNNING)) { + if (lxc_set_state(name, handler, RUNNING)) { ERROR("failed to set state to %s", lxc_state2str(RUNNING)); goto out_abort; diff --git a/src/lxc/start.h b/src/lxc/start.h index ca0c08a..3390411 100644 --- a/src/lxc/start.h +++ b/src/lxc/start.h @@ -44,6 +44,7 @@ extern int lxc_spawn(const char *name, struct lxc_handler *handler, extern int lxc_poll(const char *name, struct lxc_handler *handler); extern void lxc_abort(const char *name, struct lxc_handler *handler); extern void lxc_fini(const char *name, struct lxc_handler *handler); +extern int lxc_set_state(const char *, struct lxc_handler *, lxc_state_t); #endif |