[PATCH] tools/xenstore: simplify loop handling connection I/O

Juergen Gross posted 1 patch 1 year, 10 months ago
Test gitlab-ci failed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20220614153152.25919-1-jgross@suse.com
tools/xenstore/xenstored_core.c | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
[PATCH] tools/xenstore: simplify loop handling connection I/O
Posted by Juergen Gross 1 year, 10 months ago
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(-)

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);
-- 
2.35.3
Re: [PATCH] tools/xenstore: simplify loop handling connection I/O
Posted by Julien Grall 1 year, 10 months ago
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,

-- 
Julien Grall