Commit 26b2d152 by Michel Normand Committed by Daniel Lezcano

get_init_pid moved to lxc/commands.c

as will be used later on in other patches. Signed-off-by: 's avatarMichel Normand <normand@fr.ibm.com> Signed-off-by: 's avatarDaniel Lezcano <dlezcano@fr.ibm.com>
parent 501cbc71
...@@ -111,6 +111,34 @@ out_close: ...@@ -111,6 +111,34 @@ out_close:
goto out; 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 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_console_callback(int, struct lxc_request *, struct lxc_handler *);
extern int lxc_stop_callback(int, struct lxc_request *, struct lxc_handler *); extern int lxc_stop_callback(int, struct lxc_request *, struct lxc_handler *);
......
...@@ -47,6 +47,7 @@ struct lxc_command { ...@@ -47,6 +47,7 @@ struct lxc_command {
struct lxc_answer answer; struct lxc_answer answer;
}; };
extern pid_t get_init_pid(const char *name);
extern int lxc_command(const char *name, struct lxc_command *command, extern int lxc_command(const char *name, struct lxc_command *command,
int *stopped); int *stopped);
......
...@@ -55,34 +55,6 @@ Options :\n\ ...@@ -55,34 +55,6 @@ Options :\n\
.checker = NULL, .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 main(int argc, char *argv[], char *envp[])
{ {
int ret; int ret;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment