From: Mike Yuan Date: Thu, 18 Apr 2024 00:43:48 +0000 (+0800) Subject: core: switch j->unit->manager to j->manager X-Git-Tag: v256-rc1~132^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6985e3964d14711d99a3d75d94251f8446f9485c;p=thirdparty%2Fsystemd.git core: switch j->unit->manager to j->manager --- diff --git a/src/core/dbus-job.c b/src/core/dbus-job.c index d5b50e85183..693efbbcbaf 100644 --- a/src/core/dbus-job.c +++ b/src/core/dbus-job.c @@ -54,7 +54,7 @@ int bus_job_method_cancel(sd_bus_message *message, void *userdata, sd_bus_error if (!sd_bus_track_contains(j->bus_track, sd_bus_message_get_sender(message))) { /* And for everybody else consult polkit */ - r = bus_verify_manage_units_async(j->unit->manager, message, error); + r = bus_verify_manage_units_async(j->manager, message, error); if (r < 0) return r; if (r == 0) @@ -263,7 +263,7 @@ void bus_job_send_pending_change_signal(Job *j, bool including_new) { if (!j->sent_dbus_new_signal && !including_new) return; - if (MANAGER_IS_RELOADING(j->unit->manager)) + if (MANAGER_IS_RELOADING(j->manager)) return; bus_job_send_change_signal(j); @@ -332,12 +332,12 @@ static int bus_job_allocate_bus_track(Job *j) { if (j->bus_track) return 0; - return sd_bus_track_new(j->unit->manager->api_bus, &j->bus_track, bus_job_track_handler, j); + return sd_bus_track_new(j->manager->api_bus, &j->bus_track, bus_job_track_handler, j); } int bus_job_coldplug_bus_track(Job *j) { - int r; _cleanup_strv_free_ char **deserialized_clients = NULL; + int r; assert(j); @@ -362,7 +362,7 @@ int bus_job_track_sender(Job *j, sd_bus_message *m) { assert(j); assert(m); - if (sd_bus_message_get_bus(m) != j->unit->manager->api_bus) { + if (sd_bus_message_get_bus(m) != j->manager->api_bus) { j->ref_by_private_bus = true; return 0; } diff --git a/src/core/job.c b/src/core/job.c index c6b48035a79..2f19468a954 100644 --- a/src/core/job.c +++ b/src/core/job.c @@ -133,6 +133,7 @@ Job* job_free(Job *j) { static void job_set_state(Job *j, JobState state) { assert(j); + assert(j->manager); assert(state >= 0); assert(state < _JOB_STATE_MAX); @@ -145,15 +146,15 @@ static void job_set_state(Job *j, JobState state) { return; if (j->state == JOB_RUNNING) - j->unit->manager->n_running_jobs++; + j->manager->n_running_jobs++; else { assert(j->state == JOB_WAITING); - assert(j->unit->manager->n_running_jobs > 0); + assert(j->manager->n_running_jobs > 0); - j->unit->manager->n_running_jobs--; + j->manager->n_running_jobs--; - if (j->unit->manager->n_running_jobs <= 0) - j->unit->manager->jobs_in_progress_event_source = sd_event_source_disable_unref(j->unit->manager->jobs_in_progress_event_source); + if (j->manager->n_running_jobs <= 0) + j->manager->jobs_in_progress_event_source = sd_event_source_disable_unref(j->manager->jobs_in_progress_event_source); } } @@ -281,6 +282,8 @@ int job_install_deserialized(Job *j) { Job **pj; int r; + assert(j); + assert(j->manager); assert(!j->installed); if (j->type < 0 || j->type >= _JOB_TYPE_MAX_IN_TRANSACTION) @@ -307,7 +310,7 @@ int job_install_deserialized(Job *j) { j->installed = true; if (j->state == JOB_RUNNING) - j->unit->manager->n_running_jobs++; + j->manager->n_running_jobs++; log_unit_debug(j->unit, "Reinstalled deserialized job %s/%s as %u", @@ -1375,6 +1378,7 @@ int job_coldplug(Job *j) { void job_shutdown_magic(Job *j) { assert(j); + assert(j->manager); /* The shutdown target gets some special treatment here: we * tell the kernel to begin with flushing its disk caches, to @@ -1391,15 +1395,15 @@ void job_shutdown_magic(Job *j) { return; /* This is the very beginning of the shutdown phase, so take the timestamp here */ - dual_timestamp_now(ASSERT_PTR(j->manager)->timestamps + MANAGER_TIMESTAMP_SHUTDOWN_START); + dual_timestamp_now(j->manager->timestamps + MANAGER_TIMESTAMP_SHUTDOWN_START); if (!MANAGER_IS_SYSTEM(j->manager)) return; /* In case messages on console has been disabled on boot */ - j->unit->manager->no_console_output = false; + j->manager->no_console_output = false; - manager_invalidate_startup_units(j->unit->manager); + manager_invalidate_startup_units(j->manager); if (detect_container() > 0) return; @@ -1439,6 +1443,7 @@ bool job_may_gc(Job *j) { Unit *other; assert(j); + assert(j->manager); /* Checks whether this job should be GC'ed away. We only do this for jobs of units that have no effect on their * own and just track external state. For now the only unit type that qualifies for this are .device units. @@ -1459,7 +1464,7 @@ bool job_may_gc(Job *j) { * referenced by one, and reset this whenever we notice that no private bus connections are around. This means * the GC is a bit too conservative when it comes to jobs created by private bus connections. */ if (j->ref_by_private_bus) { - if (set_isempty(j->unit->manager->private_buses)) + if (set_isempty(j->manager->private_buses)) j->ref_by_private_bus = false; else return false; @@ -1482,6 +1487,7 @@ bool job_may_gc(Job *j) { void job_add_to_gc_queue(Job *j) { assert(j); + assert(j->manager); if (j->in_gc_queue) return; @@ -1489,7 +1495,7 @@ void job_add_to_gc_queue(Job *j) { if (!job_may_gc(j)) return; - LIST_PREPEND(gc_queue, j->unit->manager->gc_job_queue, j); + LIST_PREPEND(gc_queue, j->manager->gc_job_queue, j); j->in_gc_queue = true; }