From: Michel Normand Date: Thu, 29 Apr 2010 08:03:59 +0000 (+0200) Subject: get_init_pid moved to lxc/commands.c X-Git-Tag: lxc-0.7.0~101 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26b2d1526876e6155066fece0f1c703cbed322a1;p=thirdparty%2Flxc.git get_init_pid moved to lxc/commands.c as will be used later on in other patches. Signed-off-by: Michel Normand Signed-off-by: Daniel Lezcano --- diff --git a/src/lxc/commands.c b/src/lxc/commands.c index 7c24c8170..ab2302694 100644 --- a/src/lxc/commands.c +++ b/src/lxc/commands.c @@ -111,6 +111,34 @@ out_close: goto out; } +pid_t get_init_pid(const char *name) +{ + struct lxc_command command = { + .request = { .type = LXC_COMMAND_PID }, + }; + + int ret, stopped = 0; + + ret = lxc_command(name, &command, &stopped); + if (ret < 0 && stopped) { + ERROR("'%s' is not running", name); + return -1; + } + + if (ret < 0) { + ERROR("failed to send command"); + return -1; + } + + if (command.answer.ret) { + ERROR("failed to retrieve the init pid: %s", + strerror(-command.answer.ret)); + return -1; + } + + return command.answer.pid; +} + extern void lxc_console_remove_fd(int, struct lxc_tty_info *); extern int lxc_console_callback(int, struct lxc_request *, struct lxc_handler *); extern int lxc_stop_callback(int, struct lxc_request *, struct lxc_handler *); diff --git a/src/lxc/commands.h b/src/lxc/commands.h index e191b779e..b013b7d46 100644 --- a/src/lxc/commands.h +++ b/src/lxc/commands.h @@ -47,6 +47,7 @@ struct lxc_command { struct lxc_answer answer; }; +extern pid_t get_init_pid(const char *name); extern int lxc_command(const char *name, struct lxc_command *command, int *stopped); diff --git a/src/lxc/lxc_attach.c b/src/lxc/lxc_attach.c index 13b89ff51..3a183a106 100644 --- a/src/lxc/lxc_attach.c +++ b/src/lxc/lxc_attach.c @@ -55,34 +55,6 @@ Options :\n\ .checker = NULL, }; -pid_t get_init_pid(const char *name) -{ - struct lxc_command command = { - .request = { .type = LXC_COMMAND_PID }, - }; - - int ret, stopped = 0; - - ret = lxc_command(name, &command, &stopped); - if (ret < 0 && stopped) { - ERROR("'%s' is not running", name); - return -1; - } - - if (ret < 0) { - ERROR("failed to send command"); - return -1; - } - - if (command.answer.ret) { - ERROR("failed to retrieve the init pid: %s", - strerror(-command.answer.ret)); - return -1; - } - - return command.answer.pid; -} - int main(int argc, char *argv[], char *envp[]) { int ret;