From: Dave Barach Date: Sun, 15 Oct 2017 21:20:40 +0000 (-0400) Subject: Fix minor issues in clib_spinlock_unlock() X-Git-Tag: v18.04-rc0~457 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=fa77e8fb1cc8a87a4a31792698e7200c4195583e;p=vpp.git Fix minor issues in clib_spinlock_unlock() Change-Id: I20ce799c9dd57332c06003b466ee7c36169bce98 Signed-off-by: Dave Barach --- diff --git a/src/vppinfra/lock.h b/src/vppinfra/lock.h index 0cd2b4fea53..7d241675b12 100644 --- a/src/vppinfra/lock.h +++ b/src/vppinfra/lock.h @@ -71,12 +71,14 @@ clib_spinlock_lock_if_init (clib_spinlock_t * p) static_always_inline void clib_spinlock_unlock (clib_spinlock_t * p) { - (*p)->lock = 0; #if CLIB_DEBUG > 0 (*p)->frame_address = 0; (*p)->pid = 0; (*p)->thread_index = 0; #endif + /* Make sure all writes are complete before releasing the lock */ + CLIB_MEMORY_BARRIER (); + (*p)->lock = 0; } static_always_inline void