chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
core: fix running jobs counters after reload/reexec
[elogind.git]
/
src
/
core
/
manager.c
diff --git
a/src/core/manager.c
b/src/core/manager.c
index ec12a753719b1bc9dff6fef659ea3463d3f51ebc..42423985bc8fe11ee61950beaa317660b3d4a08e 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) {