mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-06 16:13:35 +00:00
get_init_pid moved to lxc/commands.c
as will be used later on in other patches. Signed-off-by: Michel Normand <normand@fr.ibm.com> Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
This commit is contained in:
parent
501cbc717f
commit
26b2d15268
@ -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 *);
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user