/* Copyright 2000-2001 ActiveState */ #ifdef MULTI_PERL typedef struct { PerlInterpreter *my_perl; U32 refcnt; /* number of SVRV objects that reference this interpreter */ bool thread_done; } refcounted_perl; typedef struct { refcounted_perl* perl; HV* root_stash; PyThreadState* last_py_state; } thread_ctx; extern void thrd_ctx_init(void); extern thread_ctx* get_thread_ctx(void); #define dCTX thread_ctx* ctx = get_thread_ctx() #define dCTXP dCTX; PerlInterpreter *my_perl = ctx->perl->my_perl #else /* MULTI_PERL */ #define dCTX dNOOP #define dCTXP dTHX #endif /* MULTI_PERL */