nat: use correct data types for memory sizes
[vpp.git] / src / vppinfra / elog.c
index 12ac3a5..caddf6f 100644 (file)
 #include <vppinfra/format.h>
 #include <vppinfra/hash.h>
 #include <vppinfra/math.h>
+#include <vppinfra/lock.h>
 
 static inline void
 elog_lock (elog_main_t * em)
 {
   if (PREDICT_FALSE (em->lock != 0))
     while (clib_atomic_test_and_set (em->lock))
-      ;
+      CLIB_PAUSE ();
 }
 
 static inline void
@@ -55,8 +56,7 @@ elog_unlock (elog_main_t * em)
 {
   if (PREDICT_FALSE (em->lock != 0))
     {
-      CLIB_MEMORY_BARRIER ();
-      *em->lock = 0;
+      clib_atomic_release (em->lock);
     }
 }