ret = lxc_poll(c->name, handler);
if (ret)
- lxc_abort(c->name, handler);
- lxc_fini(c->name, handler);
+ lxc_abort(handler);
+ lxc_fini(handler);
_exit(ret);
}
if (pipes[1] >= 0)
close(pipes[1]);
- lxc_fini(c->name, handler);
+ lxc_fini(handler);
out:
if (status_pipe >= 0) {
return -1;
}
-void lxc_fini(const char *name, struct lxc_handler *handler)
+void lxc_fini(struct lxc_handler *handler)
{
int ret;
pid_t self;
struct lxc_list *cur, *next;
char *namespaces[LXC_NS_MAX + 1];
size_t namespace_count = 0;
+ const char *name = handler->name;
struct cgroup_ops *cgroup_ops = handler->cgroup_ops;
/* The STOPPING state is there for future cleanup code which can take
lxc_free_handler(handler);
}
-void lxc_abort(const char *name, struct lxc_handler *handler)
+void lxc_abort(struct lxc_handler *handler)
{
int ret = 0;
int status;
- lxc_set_state(name, handler, ABORTING);
+ lxc_set_state(handler->name, handler, ABORTING);
if (handler->pidfd >= 0) {
ret = lxc_raw_pidfd_send_signal(handler->pidfd, SIGKILL, NULL, 0);
lxc_delete_network(handler);
out_abort:
- lxc_abort(name, handler);
+ lxc_abort(handler);
out_sync_fini:
lxc_sync_fini(handler);
detach_block_device(handler->conf);
__private_goto3:
- lxc_fini(name, handler);
+ lxc_fini(handler);
return ret;
/* These are the droids you are looking for. */
out_abort:
- lxc_abort(name, handler);
+ lxc_abort(handler);
goto __private_goto3;
out_detach_blockdev:
- lxc_abort(name, handler);
+ lxc_abort(handler);
goto __private_goto2;
out_delete_network:
- lxc_abort(name, handler);
+ lxc_abort(handler);
goto __private_goto1;
}
extern int lxc_serve_state_clients(const char *name,
struct lxc_handler *handler,
lxc_state_t state);
-extern void lxc_abort(const char *name, struct lxc_handler *handler);
+extern void lxc_abort(struct lxc_handler *handler);
extern struct lxc_handler *lxc_init_handler(const char *name,
struct lxc_conf *conf,
const char *lxcpath,
extern void lxc_zero_handler(struct lxc_handler *handler);
extern void lxc_free_handler(struct lxc_handler *handler);
extern int lxc_init(const char *name, struct lxc_handler *handler);
-extern void lxc_fini(const char *name, struct lxc_handler *handler);
+extern void lxc_fini(struct lxc_handler *handler);
/* lxc_check_inherited: Check for any open file descriptors and close them if
* requested.