qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v6 2/6] queue: Add macro for incremental travers


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v6 2/6] queue: Add macro for incremental traversal
Date: Mon, 19 Jun 2017 16:20:55 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

On 06/12/2017 07:54 AM, Lluís Vilanova wrote:
Adds macro QTAILQ_FOREACH_CONTINUE to support incremental list
traversal.

Signed-off-by: Lluís Vilanova <address@hidden>
---
  include/qemu/queue.h |   12 ++++++++++++
  1 file changed, 12 insertions(+)

diff --git a/include/qemu/queue.h b/include/qemu/queue.h
index 35292c3155..eb2bf9cb1c 100644
--- a/include/qemu/queue.h
+++ b/include/qemu/queue.h
@@ -415,6 +415,18 @@ struct {                                                   
             \
                  (var);                                                  \
                  (var) = ((var)->field.tqe_next))
+/**
+ * QTAILQ_FOREACH_CONTINUE:
+ * @var: Variable to resume iteration from.
+ * @field: Field in @var holding a QTAILQ_ENTRY for this queue.
+ *
+ * Resumes iteration on a queue from the element in @var.
+ */
+#define QTAILQ_FOREACH_CONTINUE(var, field)                             \
+        for ((var) = ((var)->field.tqe_next);                           \
+                (var);                                                  \
+                (var) = ((var)->field.tqe_next))
+
  #define QTAILQ_FOREACH_SAFE(var, head, field, next_var)                 \
          for ((var) = ((head)->tqh_first);                               \
                  (var) && ((next_var) = ((var)->field.tqe_next), 1);     \



I still say this isn't required if the breakpoint loop is better structured.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]