tree-wide: use LIST_POP()

This commit is contained in:
David Tardon
2023-08-17 09:48:17 +02:00
parent 9aad490e53
commit 52e3671bf7
9 changed files with 19 additions and 39 deletions
+1 -2
View File
@@ -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);
}
+7 -16
View File
@@ -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
+1 -2
View File
@@ -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);
}
+1 -2
View File
@@ -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);
}
+3 -5
View File
@@ -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) {
struct sd_dhcp_raw_option *option;
assert(lease);
while (lease->private_options) {
struct sd_dhcp_raw_option *option = lease->private_options;
LIST_REMOVE(options, lease->private_options, option);
while ((option = LIST_POP(options, lease->private_options))) {
free(option->data);
free(option);
}
+3 -6
View File
@@ -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 */
+1 -2
View File
@@ -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 */
+1 -2
View File
@@ -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);
}
+1 -2
View File
@@ -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);
}