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>
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;
return -1;
}
+ close(handler->sigfd);
+
NOTICE("exec'ing '%s'", argv[0]);
execvp(argv[0], argv);
struct start_arg start_arg = {
.name = name,
.argv = argv,
+ .sfd = -1,
.handler = handler,
.sv = sv,
};
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[]);