ovsdb.at: Run Python tests for Python 2 and 3.
[cascardo/ovs.git] / lib / seq.c
index 452d683..9c3257c 100644 (file)
--- a/lib/seq.c
+++ b/lib/seq.c
@@ -20,6 +20,7 @@
 
 #include <stdbool.h>
 
+#include "coverage.h"
 #include "hash.h"
 #include "hmap.h"
 #include "latch.h"
@@ -27,6 +28,8 @@
 #include "ovs-thread.h"
 #include "poll-loop.h"
 
+COVERAGE_DEFINE(seq_change);
+
 /* A sequence number object. */
 struct seq {
     uint64_t value OVS_GUARDED;
@@ -39,15 +42,15 @@ struct seq_waiter {
     struct hmap_node hmap_node OVS_GUARDED; /* In 'seq->waiters'. */
     unsigned int ovsthread_id OVS_GUARDED;  /* Key in 'waiters' hmap. */
 
-    struct seq_thread *thread OVS_GUARDED; /* Thread preparing to wait. */
-    struct list list_node OVS_GUARDED;     /* In 'thread->waiters'. */
+    struct seq_thread *thread OVS_GUARDED;  /* Thread preparing to wait. */
+    struct ovs_list list_node OVS_GUARDED;  /* In 'thread->waiters'. */
 
     uint64_t value OVS_GUARDED; /* seq->value we're waiting to change. */
 };
 
 /* A thread that might be waiting on one or more seqs. */
 struct seq_thread {
-    struct list waiters OVS_GUARDED; /* Contains 'struct seq_waiter's. */
+    struct ovs_list waiters OVS_GUARDED; /* Contains 'struct seq_waiter's. */
     struct latch latch OVS_GUARDED;  /* Wakeup latch for this thread. */
     bool waiting OVS_GUARDED;        /* True if latch_wait() already called. */
 };
@@ -74,6 +77,9 @@ seq_create(void)
     seq_init();
 
     seq = xmalloc(sizeof *seq);
+
+    COVERAGE_INC(seq_change);
+
     ovs_mutex_lock(&seq_mutex);
     seq->value = seq_next++;
     hmap_init(&seq->waiters);
@@ -100,6 +106,8 @@ void
 seq_change(struct seq *seq)
     OVS_EXCLUDED(seq_mutex)
 {
+    COVERAGE_INC(seq_change);
+
     ovs_mutex_lock(&seq_mutex);
     seq->value = seq_next++;
     seq_wake_waiters(seq);