From: Serge Hallyn Date: Thu, 30 Jan 2014 14:19:41 +0000 (+0000) Subject: cgroup: change unfreeze_fromhandler to return bool X-Git-Tag: lxc-1.0.0.beta4~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ecfcb3f00a93695b03f790e3ba05896847d5bd1e;p=thirdparty%2Flxc.git cgroup: change unfreeze_fromhandler to return bool To be more consistent with other cgroup_ops methods, in the hopes of having less return-value-related mixups. Signed-off-by: Serge Hallyn Acked-by: Stéphane Graber --- diff --git a/src/lxc/cgmanager.c b/src/lxc/cgmanager.c index ca6b31772..f5d42ff07 100644 --- a/src/lxc/cgmanager.c +++ b/src/lxc/cgmanager.c @@ -570,7 +570,7 @@ static inline bool cgm_init(struct lxc_handler *handler) return collect_subsytems(); } -static int cgm_unfreeze_fromhandler(struct lxc_handler *handler) +static bool cgm_unfreeze_fromhandler(struct lxc_handler *handler) { char *cgroup_path = handler->cgroup_info->data; @@ -581,9 +581,9 @@ static int cgm_unfreeze_fromhandler(struct lxc_handler *handler) ERROR("call to cgmanager_set_value_sync failed: %s", nerr->message); nih_free(nerr); ERROR("Error unfreezing %s", cgroup_path); - return -1; + return false; } - return 0; + return true; } static bool setup_limits(struct lxc_handler *h, bool do_devices) diff --git a/src/lxc/cgroup.c b/src/lxc/cgroup.c index 288fe20b1..c23b784fa 100644 --- a/src/lxc/cgroup.c +++ b/src/lxc/cgroup.c @@ -2279,7 +2279,7 @@ static char *cgfs_get_cgroup(struct lxc_handler *handler, const char *subsystem) return lxc_cgroup_get_hierarchy_path_handler(subsystem, handler); } -static int cgfs_unfreeze_fromhandler(struct lxc_handler *handler) +static bool cgfs_unfreeze_fromhandler(struct lxc_handler *handler) { char *cgabspath, *cgrelpath; int ret; @@ -2287,11 +2287,11 @@ static int cgfs_unfreeze_fromhandler(struct lxc_handler *handler) cgrelpath = lxc_cgroup_get_hierarchy_path_handler("freezer", handler); cgabspath = lxc_cgroup_find_abs_path("freezer", cgrelpath, true, NULL); if (!cgabspath) - return -1; + return false; ret = do_cgroup_set(cgabspath, "freezer.state", "THAWED"); free(cgabspath); - return ret; + return ret == 0; } bool cgroupfs_setup_limits(struct lxc_handler *h, bool with_devices) @@ -2431,7 +2431,7 @@ int lxc_cgroup_get(const char *filename, char *value, size_t len, const char *na return active_cg_ops->get(filename, value, len, name, lxcpath); } -int lxc_unfreeze_fromhandler(struct lxc_handler *handler) +bool lxc_unfreeze_fromhandler(struct lxc_handler *handler) { return active_cg_ops->unfreeze_fromhandler(handler); } diff --git a/src/lxc/cgroup.h b/src/lxc/cgroup.h index 45b58d0f5..da77473cb 100644 --- a/src/lxc/cgroup.h +++ b/src/lxc/cgroup.h @@ -192,7 +192,7 @@ struct cgroup_ops { char *(*get_cgroup)(struct lxc_handler *handler, const char *subsystem); int (*set)(const char *filename, const char *value, const char *name, const char *lxcpath); int (*get)(const char *filename, char *value, size_t len, const char *name, const char *lxcpath); - int (*unfreeze_fromhandler)(struct lxc_handler *handler); + bool (*unfreeze_fromhandler)(struct lxc_handler *handler); bool (*setup_limits)(struct lxc_handler *handler, bool with_devices); bool (*chown)(struct lxc_handler *handler); bool (*attach)(const char *name, const char *lxcpath, pid_t pid); @@ -220,8 +220,8 @@ extern bool cgroup_create_legacy(struct lxc_handler *handler); extern char *cgroup_get_cgroup(struct lxc_handler *handler, const char *subsystem); extern bool lxc_cgroup_attach(const char *name, const char *lxcpath, pid_t pid); extern bool lxc_setup_mount_cgroup(const char *root, struct lxc_cgroup_info *cgroup_info, int type); +extern bool lxc_unfreeze_fromhandler(struct lxc_handler *handler); extern int lxc_cgroup_set(const char *filename, const char *value, const char *name, const char *lxcpath); extern int lxc_cgroup_get(const char *filename, char *value, size_t len, const char *name, const char *lxcpath); -extern int lxc_unfreeze_fromhandler(struct lxc_handler *handler); #endif diff --git a/src/lxc/commands.c b/src/lxc/commands.c index 1fca13efb..e9ab42f4a 100644 --- a/src/lxc/commands.c +++ b/src/lxc/commands.c @@ -583,7 +583,6 @@ static int lxc_cmd_stop_callback(int fd, struct lxc_cmd_req *req, struct lxc_handler *handler) { struct lxc_cmd_rsp rsp; - int ret; int stopsignal = SIGKILL; if (handler->conf->stopsignal) @@ -591,11 +590,10 @@ static int lxc_cmd_stop_callback(int fd, struct lxc_cmd_req *req, memset(&rsp, 0, sizeof(rsp)); rsp.ret = kill(handler->pid, stopsignal); if (!rsp.ret) { - ret = lxc_unfreeze_fromhandler(handler); - if (!ret) + if (lxc_unfreeze_fromhandler(handler)) return 0; ERROR("Failed to unfreeze %s:%s", handler->lxcpath, handler->name); - rsp.ret = ret; + rsp.ret = -1; } return lxc_cmd_rsp_send(fd, &rsp);