diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/execute.c | 3 | ||||
-rw-r--r-- | src/core/manager.c | 23 | ||||
-rw-r--r-- | src/core/path.c | 3 | ||||
-rw-r--r-- | src/core/timer.c | 3 | ||||
-rw-r--r-- | src/libsystemd-network/sd-dhcp-lease.c | 8 | ||||
-rw-r--r-- | src/login/logind.c | 9 | ||||
-rw-r--r-- | src/machine/machined.c | 3 | ||||
-rw-r--r-- | src/rfkill/rfkill.c | 3 | ||||
-rw-r--r-- | src/shared/dissect-image.c | 3 |
9 files changed, 19 insertions, 39 deletions
diff --git a/src/core/execute.c b/src/core/execute.c index 95349a4fb6..f9761b7239 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -6326,8 +6326,7 @@ void exec_command_done_array(ExecCommand *c, size_t n) { ExecCommand* exec_command_free_list(ExecCommand *c) { ExecCommand *i; - while ((i = c)) { - LIST_REMOVE(command, c, i); + while ((i = LIST_POP(command, c))) { exec_command_done(i); free(i); } diff --git a/src/core/manager.c b/src/core/manager.c index 53a1b41b0e..304abf4697 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1257,10 +1257,8 @@ static unsigned manager_dispatch_release_resources_queue(Manager *m) { assert(m); - while ((u = m->release_resources_queue)) { + while ((u = LIST_POP(release_resources_queue, m->release_resources_queue))) { assert(u->in_release_resources_queue); - - LIST_REMOVE(release_resources_queue, m->release_resources_queue, u); u->in_release_resources_queue = false; n++; @@ -1364,12 +1362,11 @@ static unsigned manager_dispatch_gc_unit_queue(Manager *m) { gc_marker = m->gc_marker; - while ((u = m->gc_unit_queue)) { + while ((u = LIST_POP(gc_queue, m->gc_unit_queue))) { assert(u->in_gc_queue); unit_gc_sweep(u, gc_marker); - LIST_REMOVE(gc_queue, m->gc_unit_queue, u); u->in_gc_queue = false; n++; @@ -1392,10 +1389,8 @@ static unsigned manager_dispatch_gc_job_queue(Manager *m) { assert(m); - while ((j = m->gc_job_queue)) { + while ((j = LIST_POP(gc_queue, m->gc_job_queue))) { assert(j->in_gc_queue); - - LIST_REMOVE(gc_queue, m->gc_job_queue, j); j->in_gc_queue = false; n++; @@ -1459,11 +1454,10 @@ static unsigned manager_dispatch_stop_when_unneeded_queue(Manager *m) { assert(m); - while ((u = m->stop_when_unneeded_queue)) { + while ((u = LIST_POP(stop_when_unneeded_queue, m->stop_when_unneeded_queue))) { _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; assert(u->in_stop_when_unneeded_queue); - LIST_REMOVE(stop_when_unneeded_queue, m->stop_when_unneeded_queue, u); u->in_stop_when_unneeded_queue = false; n++; @@ -1500,12 +1494,11 @@ static unsigned manager_dispatch_start_when_upheld_queue(Manager *m) { assert(m); - while ((u = m->start_when_upheld_queue)) { + while ((u = LIST_POP(start_when_upheld_queue, m->start_when_upheld_queue))) { _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; Unit *culprit = NULL; assert(u->in_start_when_upheld_queue); - LIST_REMOVE(start_when_upheld_queue, m->start_when_upheld_queue, u); u->in_start_when_upheld_queue = false; n++; @@ -1542,12 +1535,11 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { assert(m); - while ((u = m->stop_when_bound_queue)) { + while ((u = LIST_POP(stop_when_bound_queue, m->stop_when_bound_queue))) { _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; Unit *culprit = NULL; assert(u->in_stop_when_bound_queue); - LIST_REMOVE(stop_when_bound_queue, m->stop_when_bound_queue, u); u->in_stop_when_bound_queue = false; n++; @@ -2177,13 +2169,12 @@ static int manager_dispatch_target_deps_queue(Manager *m) { assert(m); - while ((u = m->target_deps_queue)) { + while ((u = LIST_POP(target_deps_queue, m->target_deps_queue))) { _cleanup_free_ Unit **targets = NULL; int n_targets; assert(u->in_target_deps_queue); - LIST_REMOVE(target_deps_queue, u->manager->target_deps_queue, u); u->in_target_deps_queue = false; /* Take an "atomic" snapshot of dependencies here, as the call below will likely modify the diff --git a/src/core/path.c b/src/core/path.c index b06b97d712..d5651cd9d8 100644 --- a/src/core/path.c +++ b/src/core/path.c @@ -288,9 +288,8 @@ void path_free_specs(Path *p) { assert(p); - while ((s = p->specs)) { + while ((s = LIST_POP(spec, p->specs))) { path_spec_unwatch(s); - LIST_REMOVE(spec, p->specs, s); path_spec_done(s); free(s); } diff --git a/src/core/timer.c b/src/core/timer.c index 17faa5cbfb..5a68f07e9d 100644 --- a/src/core/timer.c +++ b/src/core/timer.c @@ -51,8 +51,7 @@ void timer_free_values(Timer *t) { assert(t); - while ((v = t->values)) { - LIST_REMOVE(value, t->values, v); + while ((v = LIST_POP(value, t->values))) { calendar_spec_free(v->calendar_spec); free(v); } diff --git a/src/libsystemd-network/sd-dhcp-lease.c b/src/libsystemd-network/sd-dhcp-lease.c index 5e8869a3b7..791314e9cc 100644 --- a/src/libsystemd-network/sd-dhcp-lease.c +++ b/src/libsystemd-network/sd-dhcp-lease.c @@ -345,13 +345,11 @@ int sd_dhcp_lease_get_vendor_specific(sd_dhcp_lease *lease, const void **data, s } static sd_dhcp_lease *dhcp_lease_free(sd_dhcp_lease *lease) { - assert(lease); - - while (lease->private_options) { - struct sd_dhcp_raw_option *option = lease->private_options; + struct sd_dhcp_raw_option *option; - LIST_REMOVE(options, lease->private_options, option); + assert(lease); + while ((option = LIST_POP(options, lease->private_options))) { free(option->data); free(option); } diff --git a/src/login/logind.c b/src/login/logind.c index f30f7f9370..ba3a31b0a4 100644 --- a/src/login/logind.c +++ b/src/login/logind.c @@ -907,8 +907,7 @@ static void manager_gc(Manager *m, bool drop_not_started) { assert(m); - while ((seat = m->seat_gc_queue)) { - LIST_REMOVE(gc_queue, m->seat_gc_queue, seat); + while ((seat = LIST_POP(gc_queue, m->seat_gc_queue))) { seat->in_gc_queue = false; if (seat_may_gc(seat, drop_not_started)) { @@ -917,8 +916,7 @@ static void manager_gc(Manager *m, bool drop_not_started) { } } - while ((session = m->session_gc_queue)) { - LIST_REMOVE(gc_queue, m->session_gc_queue, session); + while ((session = LIST_POP(gc_queue, m->session_gc_queue))) { session->in_gc_queue = false; /* First, if we are not closing yet, initiate stopping. */ @@ -934,8 +932,7 @@ static void manager_gc(Manager *m, bool drop_not_started) { } } - while ((user = m->user_gc_queue)) { - LIST_REMOVE(gc_queue, m->user_gc_queue, user); + while ((user = LIST_POP(gc_queue, m->user_gc_queue))) { user->in_gc_queue = false; /* First step: queue stop jobs */ diff --git a/src/machine/machined.c b/src/machine/machined.c index 8152bda50d..926a8a7f2b 100644 --- a/src/machine/machined.c +++ b/src/machine/machined.c @@ -254,8 +254,7 @@ static void manager_gc(Manager *m, bool drop_not_started) { assert(m); - while ((machine = m->machine_gc_queue)) { - LIST_REMOVE(gc_queue, m->machine_gc_queue, machine); + while ((machine = LIST_POP(gc_queue, m->machine_gc_queue))) { machine->in_gc_queue = false; /* First, if we are not closing yet, initiate stopping */ diff --git a/src/rfkill/rfkill.c b/src/rfkill/rfkill.c index c4e93737f5..be2a7f8d29 100644 --- a/src/rfkill/rfkill.c +++ b/src/rfkill/rfkill.c @@ -257,8 +257,7 @@ static void context_save_and_clear(Context *c) { assert(c); - while ((i = c->write_queue)) { - LIST_REMOVE(queue, c->write_queue, i); + while ((i = LIST_POP(queue, c->write_queue))) { (void) save_state_write_one(i); write_queue_item_free(i); } diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c index 3b77706f8f..c361a7a461 100644 --- a/src/shared/dissect-image.c +++ b/src/shared/dissect-image.c @@ -3689,8 +3689,7 @@ bool dissected_image_verity_sig_ready(const DissectedImage *image, PartitionDesi MountOptions* mount_options_free_all(MountOptions *options) { MountOptions *m; - while ((m = options)) { - LIST_REMOVE(mount_options, options, m); + while ((m = LIST_POP(mount_options, options))) { free(m->options); free(m); } |