Message ID | 20220614153152.25919-1-jgross@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tools/xenstore: simplify loop handling connection I/O | expand |
Hi Juergen, On 14/06/2022 16:31, Juergen Gross wrote: > The loop handling input and output of connections of xenstored is > open coding list_for_each_entry_safe() in an incredibly complicated > way. > > Use list_for_each_entry_safe() instead, making it much more clear how > the code is working. > > Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Julien Grall <jgrall@amazon.com> Cheers,
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c index 6e4022e5da..fa733e714e 100644 --- a/tools/xenstore/xenstored_core.c +++ b/tools/xenstore/xenstored_core.c @@ -2368,16 +2368,8 @@ int main(int argc, char *argv[]) } } - next = list_entry(connections.next, typeof(*conn), list); - if (&next->list != &connections) - talloc_increase_ref_count(next); - while (&next->list != &connections) { - conn = next; - - next = list_entry(conn->list.next, - typeof(*conn), list); - if (&next->list != &connections) - talloc_increase_ref_count(next); + list_for_each_entry_safe(conn, next, &connections, list) { + talloc_increase_ref_count(conn); if (conn_can_read(conn)) handle_input(conn);
The loop handling input and output of connections of xenstored is open coding list_for_each_entry_safe() in an incredibly complicated way. Use list_for_each_entry_safe() instead, making it much more clear how the code is working. Signed-off-by: Juergen Gross <jgross@suse.com> --- tools/xenstore/xenstored_core.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-)