aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJonathan Neuschäfer <j.neuschaefer@gmx.net>2018-05-29 02:36:18 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-06-18 15:08:56 +0200
commit9c9ca3b87f6ea0f2bc03bc7157d58823a07c6219 (patch)
tree2c128776c3bda9a4b02d013e2d44e5a3427b5086
parent[WIP] Implement a lock-free MPMC ring buffer (diff)
downloadwireguard-monolithic-historical-9c9ca3b87f6ea0f2bc03bc7157d58823a07c6219.tar.xz
wireguard-monolithic-historical-9c9ca3b87f6ea0f2bc03bc7157d58823a07c6219.zip
mpmc_ptr_ring: Fix the remaining crash
-rw-r--r--src/mpmc_ptr_ring.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mpmc_ptr_ring.h b/src/mpmc_ptr_ring.h
index 7145a4e..be7c2ff 100644
--- a/src/mpmc_ptr_ring.h
+++ b/src/mpmc_ptr_ring.h
@@ -115,10 +115,10 @@ static inline void *mpmc_ptr_ring_consume(struct mpmc_ptr_ring *r)
for (;;) {
mb(); // TODO: check
- p = atomic_long_read(&r->producer_tail);
- mb(); // TODO: check
c = atomic_long_read(&r->consumer_head);
mb(); // TODO: check
+ p = atomic_long_read(&r->producer_tail);
+ mb(); // TODO: check
/* Is the ring empty? */
if (p == c)