vppinfra: minor refactor in lock.h 35/29535/2
authorDave Barach <dave@barachs.net>
Mon, 19 Oct 2020 20:05:07 +0000 (16:05 -0400)
committerFlorin Coras <florin.coras@gmail.com>
Mon, 19 Oct 2020 21:36:52 +0000 (21:36 +0000)
For whatever reason, "typedef struct { ... } *foo_t" gives cgo a
horrible case of indigestion. A minor refactor makes the pain go away.

Type: refactor

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I856b2abf9b16348d2f6145178e683e722914c756

src/vppinfra/lock.h

index 470890b..b7b3d00 100644 (file)
@@ -48,7 +48,7 @@ do {                                                  \
 #define CLIB_SPINLOCK_IS_LOCKED(_p) (*(_p))->lock
 #define CLIB_SPINLOCK_ASSERT_LOCKED(_p) ASSERT(CLIB_SPINLOCK_IS_LOCKED((_p)))
 
-typedef struct
+struct clib_spinlock_s
 {
   CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
   u32 lock;
@@ -57,7 +57,9 @@ typedef struct
   uword thread_index;
   void *frame_address;
 #endif
-} *clib_spinlock_t;
+};
+
+typedef struct clib_spinlock_s *clib_spinlock_t;
 
 static inline void
 clib_spinlock_init (clib_spinlock_t * p)