prepare do_start for restart code

In order to be able to use a single 'start' function for start
and restart, let's prepare do_start to get an extra statefile parameter.

Signed-off-by: Michel Normand <normand@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
This commit is contained in:
Michel Normand 2010-05-26 16:54:48 +02:00 committed by Daniel Lezcano
parent 69ffa31110
commit fc25b815fd
2 changed files with 13 additions and 8 deletions

View File

@ -411,14 +411,7 @@ void lxc_abort(const char *name, struct lxc_handler *handler)
kill(handler->pid, SIGKILL);
}
struct start_arg {
const char *name;
char *const *argv;
struct lxc_handler *handler;
int *sv;
};
static int do_start(void *arg)
int do_start(void *arg)
{
struct start_arg *start_arg = arg;
struct lxc_handler *handler = start_arg->handler;
@ -465,6 +458,8 @@ static int do_start(void *arg)
return -1;
}
close(handler->sigfd);
NOTICE("exec'ing '%s'", argv[0]);
execvp(argv[0], argv);
@ -487,6 +482,7 @@ int lxc_spawn(const char *name, struct lxc_handler *handler, char *const argv[])
struct start_arg start_arg = {
.name = name,
.argv = argv,
.sfd = -1,
.handler = handler,
.sv = sv,
};

View File

@ -38,6 +38,15 @@ struct lxc_handler {
struct lxc_conf *conf;
};
struct start_arg {
const char *name;
struct lxc_handler *handler;
int *sv;
char *const *argv;
int sfd;
};
extern int do_start(void *arg);
extern struct lxc_handler *lxc_init(const char *name, struct lxc_conf *);
extern int lxc_spawn(const char *name, struct lxc_handler *handler,
char *const argv[]);