chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
manager: print p and then free it
[elogind.git]
/
src
/
core
/
manager.c
diff --git
a/src/core/manager.c
b/src/core/manager.c
index ec12a753719b1bc9dff6fef659ea3463d3f51ebc..d976581c96bfa897bbc4cb60fd6d83e27b37ada3 100644
(file)
--- a/
src/core/manager.c
+++ b/
src/core/manager.c
@@
-269,6
+269,9
@@
static void manager_print_jobs_in_progress(Manager *m) {
if (j->state == JOB_RUNNING && counter++ == print_nr)
break;
if (j->state == JOB_RUNNING && counter++ == print_nr)
break;
+ if (!j)
+ return;
+
cylon_pos = m->jobs_in_progress_iteration % 14;
if (cylon_pos >= 8)
cylon_pos = 14 - cylon_pos;
cylon_pos = m->jobs_in_progress_iteration % 14;
if (cylon_pos >= 8)
cylon_pos = 14 - cylon_pos;
@@
-675,6
+678,9
@@
static void manager_clear_jobs_and_units(Manager *m) {
assert(hashmap_isempty(m->jobs));
assert(hashmap_isempty(m->units));
assert(hashmap_isempty(m->jobs));
assert(hashmap_isempty(m->units));
+
+ m->n_on_console = 0;
+ m->n_running_jobs = 0;
}
void manager_free(Manager *m) {
}
void manager_free(Manager *m) {
@@
-2473,9
+2479,9
@@
static int create_generator_dir(Manager *m, char **generator, const char *name)
return log_oom();
if (!mkdtemp(p)) {
return log_oom();
if (!mkdtemp(p)) {
- free(p);
log_error("Failed to create generator directory %s: %m",
p);
log_error("Failed to create generator directory %s: %m",
p);
+ free(p);
return -errno;
}
}
return -errno;
}
}