mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
Merge pull request #29231 from poettering/cgroup-utils-tweaklets
minor tweaks/modernizations in cgroup-util.[ch]
This commit is contained in:
@@ -39,12 +39,12 @@
|
||||
#include "user-util.h"
|
||||
#include "xattr-util.h"
|
||||
|
||||
static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) {
|
||||
static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) {
|
||||
_cleanup_free_ char *fs = NULL;
|
||||
FILE *f;
|
||||
int r;
|
||||
|
||||
assert(_f);
|
||||
assert(ret);
|
||||
|
||||
r = cg_get_path(controller, path, item, &fs);
|
||||
if (r < 0)
|
||||
@@ -54,36 +54,39 @@ static int cg_enumerate_items(const char *controller, const char *path, FILE **_
|
||||
if (!f)
|
||||
return -errno;
|
||||
|
||||
*_f = f;
|
||||
*ret = f;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cg_enumerate_processes(const char *controller, const char *path, FILE **_f) {
|
||||
return cg_enumerate_items(controller, path, _f, "cgroup.procs");
|
||||
int cg_enumerate_processes(const char *controller, const char *path, FILE **ret) {
|
||||
return cg_enumerate_items(controller, path, ret, "cgroup.procs");
|
||||
}
|
||||
|
||||
int cg_read_pid(FILE *f, pid_t *_pid) {
|
||||
int cg_read_pid(FILE *f, pid_t *ret) {
|
||||
unsigned long ul;
|
||||
|
||||
/* Note that the cgroup.procs might contain duplicates! See
|
||||
* cgroups.txt for details. */
|
||||
/* Note that the cgroup.procs might contain duplicates! See cgroups.txt for details. */
|
||||
|
||||
assert(f);
|
||||
assert(_pid);
|
||||
assert(ret);
|
||||
|
||||
errno = 0;
|
||||
if (fscanf(f, "%lu", &ul) != 1) {
|
||||
|
||||
if (feof(f))
|
||||
if (feof(f)) {
|
||||
*ret = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return errno_or_else(EIO);
|
||||
}
|
||||
|
||||
if (ul <= 0)
|
||||
return -EIO;
|
||||
if (ul > PID_T_MAX)
|
||||
return -EIO;
|
||||
|
||||
*_pid = (pid_t) ul;
|
||||
*ret = (pid_t) ul;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -178,12 +181,12 @@ bool cg_kill_supported(void) {
|
||||
return supported;
|
||||
}
|
||||
|
||||
int cg_enumerate_subgroups(const char *controller, const char *path, DIR **_d) {
|
||||
int cg_enumerate_subgroups(const char *controller, const char *path, DIR **ret) {
|
||||
_cleanup_free_ char *fs = NULL;
|
||||
int r;
|
||||
DIR *d;
|
||||
int r;
|
||||
|
||||
assert(_d);
|
||||
assert(ret);
|
||||
|
||||
/* This is not recursive! */
|
||||
|
||||
@@ -195,13 +198,13 @@ int cg_enumerate_subgroups(const char *controller, const char *path, DIR **_d) {
|
||||
if (!d)
|
||||
return -errno;
|
||||
|
||||
*_d = d;
|
||||
*ret = d;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cg_read_subgroup(DIR *d, char **fn) {
|
||||
int cg_read_subgroup(DIR *d, char **ret) {
|
||||
assert(d);
|
||||
assert(fn);
|
||||
assert(ret);
|
||||
|
||||
FOREACH_DIRENT_ALL(de, d, return -errno) {
|
||||
char *b;
|
||||
@@ -216,10 +219,11 @@ int cg_read_subgroup(DIR *d, char **fn) {
|
||||
if (!b)
|
||||
return -ENOMEM;
|
||||
|
||||
*fn = b;
|
||||
*ret = b;
|
||||
return 1;
|
||||
}
|
||||
|
||||
*ret = NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -176,13 +176,12 @@ typedef enum CGroupUnified {
|
||||
* generate paths with multiple adjacent / removed.
|
||||
*/
|
||||
|
||||
int cg_enumerate_processes(const char *controller, const char *path, FILE **_f);
|
||||
int cg_read_pid(FILE *f, pid_t *_pid);
|
||||
int cg_read_event(const char *controller, const char *path, const char *event,
|
||||
char **val);
|
||||
int cg_enumerate_processes(const char *controller, const char *path, FILE **ret);
|
||||
int cg_read_pid(FILE *f, pid_t *ret);
|
||||
int cg_read_event(const char *controller, const char *path, const char *event, char **ret);
|
||||
|
||||
int cg_enumerate_subgroups(const char *controller, const char *path, DIR **_d);
|
||||
int cg_read_subgroup(DIR *d, char **fn);
|
||||
int cg_enumerate_subgroups(const char *controller, const char *path, DIR **ret);
|
||||
int cg_read_subgroup(DIR *d, char **ret);
|
||||
|
||||
typedef enum CGroupFlags {
|
||||
CGROUP_SIGCONT = 1 << 0,
|
||||
|
||||
Reference in New Issue
Block a user