7 XSLockManager() { InitializeCriticalSection(&cs); };
8 ~XSLockManager() { DeleteCriticalSection(&cs); };
9 void Enter(void) { EnterCriticalSection(&cs); };
10 void Leave(void) { LeaveCriticalSection(&cs); };
15 XSLockManager g_XSLock;
25 ~XSLock() { g_XSLock.Leave(); };
28 /* PERL_CAPI does its own locking in xs_handler() */
29 #if defined(PERL_OBJECT) && !defined(PERL_CAPI)
32 XSLock localLock(pPerl); \
34 I32 ax = mark - PL_stack_base + 1; \
36 #endif /* PERL_OBJECT && !PERL_CAPI */