2
0
mirror of git://github.com/lxc/lxc synced 2025-09-02 04:09:32 +00:00

replace HOOK define with proper code.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
Serge Hallyn
2012-09-04 13:57:39 -05:00
committed by Stéphane Graber
parent 8215fe8e41
commit 773fb9cad7
3 changed files with 16 additions and 11 deletions

View File

@@ -2181,7 +2181,11 @@ int lxc_setup(const char *name, struct lxc_conf *lxc_conf)
return -1;
}
HOOK(name, "mount", lxc_conf);
if (run_lxc_hooks(name, "mount", lxc_conf)) {
ERROR("failed to run mount hooks for container '%s'.", name);
return -1;
}
if (setup_cgroup(name, &lxc_conf->cgroup)) {
ERROR("failed to setup the cgroups for '%s'", name);
return -1;

View File

@@ -232,12 +232,6 @@ struct lxc_conf {
};
int run_lxc_hooks(const char *name, char *hook, struct lxc_conf *conf);
/* we don't want to stick with the HOOK define, it's just to easily start */
#define HOOK(name, which, conf) \
do { \
int hookret = run_lxc_hooks(name, which, conf); \
if (hookret) return -1; \
} while (0);
/*
* Initialize the lxc configuration structure

View File

@@ -359,7 +359,10 @@ struct lxc_handler *lxc_init(const char *name, struct lxc_conf *conf)
goto out_free_name;
}
HOOK(name, "pre-start", conf);
if (run_lxc_hooks(name, "pre-start", conf)) {
ERROR("failed to run pre-start hooks for container '%s'.", name);
goto out_aborting;
}
if (lxc_create_tty(name, conf)) {
ERROR("failed to create the ttys");
@@ -405,7 +408,8 @@ void lxc_fini(const char *name, struct lxc_handler *handler)
lxc_set_state(name, handler, STOPPING);
lxc_set_state(name, handler, STOPPED);
HOOK(name, "post-stop", handler->conf);
if (run_lxc_hooks(name, "post-stop", handler->conf))
ERROR("failed to run post-stop hooks for container '%s'.", name);
/* reset mask set by setup_signal_fd */
if (sigprocmask(SIG_SETMASK, &handler->oldmask, NULL))
@@ -526,9 +530,12 @@ static int do_start(void *data)
if (apparmor_load(handler) < 0)
goto out_warn_father;
close(handler->sigfd);
if (run_lxc_hooks(handler->name, "start", handler->conf)) {
ERROR("failed to run start hooks for container '%s'.", handler->name);
goto out_warn_father;
}
HOOK(handler->name, "start", handler->conf);
close(handler->sigfd);
/* after this call, we are in error because this
* ops should not return as it execs */