mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-09 17:18:56 +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;
|
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 {
|
|||||||
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\
|
|||||||
.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;
|
||||||
|
Loading…
Reference in New Issue
Block a user