// Set value
r = pakfire_cgroup_write(cgroup, "memory.min", "%zu\n", mem);
- if (r)
+ if (r < 0)
ERROR(cgroup->ctx, "%s: Could not set guaranteed memory: %m\n",
pakfire_cgroup_name(cgroup));
// Set value
r = pakfire_cgroup_write(cgroup, "memory.max", "%zu\n", mem);
- if (r)
+ if (r < 0)
ERROR(cgroup->ctx, "%s: Could not set memory limit: %m\n",
pakfire_cgroup_name(cgroup));
// Set value
r = pakfire_cgroup_write(cgroup, "pids.max", "%zu\n", limit);
- if (r)
+ if (r < 0)
ERROR(cgroup->ctx, "%s: Could not set PID limit: %m\n",
pakfire_cgroup_name(cgroup));
int (*callback)(struct pakfire_cgroup* cgroup, const char* key, unsigned long val, void* data),
void* data, char* line) {
char* p = NULL;
+ int r;
char key[NAME_MAX];
unsigned long val = 0;
// First field is the key
case 0:
// Copy the key
- pakfire_string_set(key, elem);
+ r = pakfire_string_set(key, elem);
+ if (r < 0)
+ return r;
break;
// The second field is some value
// Check if we parsed both fields
if (i < 2) {
ERROR(cgroup->ctx, "Could not parse line\n");
- return 1;
+ return -EINVAL;
}
// Call the callback
static int __pakfire_cgroup_read_stats(struct pakfire_cgroup* cgroup, const char* path,
int (*callback)(struct pakfire_cgroup* cgroup, const char* key, unsigned long val, void* data),
void* data) {
+ char buffer[BUFFER_SIZE];
char* p = NULL;
int r;
- char buffer[BUFFER_SIZE];
-
DEBUG(cgroup->ctx, "%s: Reading stats from %s\n", pakfire_cgroup_name(cgroup), path);
// Open the file
int r;
// Check input
- if (!stats) {
- errno = EINVAL;
- return 1;
- }
+ if (!stats)
+ return -EINVAL;
// Read CPU stats
r = __pakfire_cgroup_read_stats(cgroup, "cpu.stat",
- __pakfire_cgroup_parse_cpu_stats, &stats->cpu);
- if (r)
+ __pakfire_cgroup_parse_cpu_stats, &stats->cpu);
+ if (r < 0)
goto ERROR;
// Read memory stats
r = __pakfire_cgroup_read_stats(cgroup, "memory.stat",
- __pakfire_cgroup_parse_memory_stats, &stats->memory);
- if (r)
+ __pakfire_cgroup_parse_memory_stats, &stats->memory);
+ if (r < 0)
goto ERROR;
ERROR:
int pakfire_cgroup_stat_dump(struct pakfire_cgroup* cgroup,
const struct pakfire_cgroup_stats* stats) {
// Check input
- if (!stats) {
- errno = EINVAL;
- return 1;
- }
+ if (!stats)
+ return -EINVAL;
DEBUG(cgroup->ctx, "%s: Total CPU time usage: %lu\n",
pakfire_cgroup_name(cgroup), stats->cpu.usage_usec);