Skip to content

Commit 33d15a3

Browse files
committed
Do not shadow LOCK's criticalblock variable for LOCK inside LOCK
1 parent 6e6ab2c commit 33d15a3

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/sync.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,10 @@ class SCOPED_LOCKABLE CMutexLock
171171

172172
typedef CMutexLock<CCriticalSection> CCriticalBlock;
173173

174-
#define LOCK(cs) CCriticalBlock criticalblock(cs, #cs, __FILE__, __LINE__)
174+
#define PASTE(x, y) x ## y
175+
#define PASTE2(x, y) PASTE(x, y)
176+
177+
#define LOCK(cs) CCriticalBlock PASTE2(criticalblock, __COUNTER__)(cs, #cs, __FILE__, __LINE__)
175178
#define LOCK2(cs1, cs2) CCriticalBlock criticalblock1(cs1, #cs1, __FILE__, __LINE__), criticalblock2(cs2, #cs2, __FILE__, __LINE__)
176179
#define TRY_LOCK(cs, name) CCriticalBlock name(cs, #cs, __FILE__, __LINE__, true)
177180

0 commit comments

Comments
 (0)