|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
From 1034fff7872e864bc6a7e091724b85a44f34474f Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
Date: Sun, 2 Nov 2014 12:19:38 -0500
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
Subject: [PATCH] manager: do not print timing when running in test mode
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
(cherry picked from commit 56dacdbc1ca95cef8bf8c97c0d7af761a71eaab3)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
---
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
src/core/manager.c | 84 ++++++++++++++++++++++++++++++------------------------
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
1 file changed, 46 insertions(+), 38 deletions(-)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
diff --git a/src/core/manager.c b/src/core/manager.c
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
index d427d88d4e..ff29ae1d9d 100644
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
--- a/src/core/manager.c
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+++ b/src/core/manager.c
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
@@ -2584,45 +2584,13 @@ bool manager_unit_inactive_or_pending(Manager *m, const char *name) {
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
return unit_inactive_or_pending(u);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-void manager_check_finished(Manager *m) {
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+static void manager_notify_finished(Manager *m) {
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
char userspace[FORMAT_TIMESPAN_MAX], initrd[FORMAT_TIMESPAN_MAX], kernel[FORMAT_TIMESPAN_MAX], sum[FORMAT_TIMESPAN_MAX];
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
usec_t firmware_usec, loader_usec, kernel_usec, initrd_usec, userspace_usec, total_usec;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- Unit *u = NULL;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- Iterator i;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- assert(m);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- if (m->n_running_jobs == 0)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- m->jobs_in_progress_event_source = sd_event_source_unref(m->jobs_in_progress_event_source);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- if (hashmap_size(m->jobs) > 0) {
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- if (m->jobs_in_progress_event_source)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- sd_event_source_set_time(m->jobs_in_progress_event_source, now(CLOCK_MONOTONIC) + JOBS_IN_PROGRESS_WAIT_USEC);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- return;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- }
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- manager_flip_auto_status(m, false);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- /* Notify Type=idle units that we are done now */
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- m->idle_pipe_event_source = sd_event_source_unref(m->idle_pipe_event_source);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- manager_close_idle_pipe(m);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- /* Turn off confirm spawn now */
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- m->confirm_spawn = false;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- /* No need to update ask password status when we're going non-interactive */
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- manager_close_ask_password(m);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- /* This is no longer the first boot */
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- manager_set_first_boot(m, false);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- if (dual_timestamp_is_set(&m->finish_timestamp))
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ if (m->test_run)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
return;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- dual_timestamp_get(&m->finish_timestamp);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
if (m->running_as == SYSTEMD_SYSTEM && detect_container(NULL) <= 0) {
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
/* Note that m->kernel_usec.monotonic is always at 0,
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
@@ -2677,10 +2645,6 @@ void manager_check_finished(Manager *m) {
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
NULL);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- SET_FOREACH(u, m->startup_units, i)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- if (u->cgroup_path)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
- cgroup_context_apply(unit_get_cgroup_context(u), unit_get_cgroup_mask(u), u->cgroup_path, manager_state(m));
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
bus_manager_send_finished(m, firmware_usec, loader_usec, kernel_usec, initrd_usec, userspace_usec, total_usec);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
sd_notifyf(false,
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
@@ -2689,6 +2653,50 @@ void manager_check_finished(Manager *m) {
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
format_timespan(sum, sizeof(sum), total_usec, USEC_PER_MSEC));
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+void manager_check_finished(Manager *m) {
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ Unit *u = NULL;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ Iterator i;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ assert(m);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ if (m->n_running_jobs == 0)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ m->jobs_in_progress_event_source = sd_event_source_unref(m->jobs_in_progress_event_source);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ if (hashmap_size(m->jobs) > 0) {
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ if (m->jobs_in_progress_event_source)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ sd_event_source_set_time(m->jobs_in_progress_event_source, now(CLOCK_MONOTONIC) + JOBS_IN_PROGRESS_WAIT_USEC);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ return;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ }
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ manager_flip_auto_status(m, false);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ /* Notify Type=idle units that we are done now */
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ m->idle_pipe_event_source = sd_event_source_unref(m->idle_pipe_event_source);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ manager_close_idle_pipe(m);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ /* Turn off confirm spawn now */
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ m->confirm_spawn = false;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ /* No need to update ask password status when we're going non-interactive */
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ manager_close_ask_password(m);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ /* This is no longer the first boot */
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ manager_set_first_boot(m, false);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ if (dual_timestamp_is_set(&m->finish_timestamp))
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ return;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ dual_timestamp_get(&m->finish_timestamp);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ manager_notify_finished(m);
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ SET_FOREACH(u, m->startup_units, i)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ if (u->cgroup_path)
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+ cgroup_context_apply(unit_get_cgroup_context(u), unit_get_cgroup_mask(u), u->cgroup_path, manager_state(m));
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+}
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
static int create_generator_dir(Manager *m, char **generator, const char *name) {
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
char *p;
|
|
Zbigniew Jędrzejewski-Szmek |
ea1976 |
int r;
|