static volatile uint32_t regexp_initialized_2 = 0;\
volatile uint32_t local_is_initialized_2 = regexp_initialized_2;\
if(!local_is_initialized_2)\
static const boost::regex var_name(xpr_text , reg_exp_flags);\
if(!local_is_initialized_2)\
{\
boost::interprocess::ipcdetail::atomic_write32(®exp_initialized_2, 1);\
}
59#define STATIC_REGEXP_EXPR_2(var_name, xpr_text, reg_exp_flags) \
60 static volatile uint32_t regexp_initialized_2 = 0;\
61 volatile uint32_t local_is_initialized_2 = regexp_initialized_2;\
62 if(!local_is_initialized_2)\
63 gregexplock.get_lock().lock().lock();\
64 static const boost::regex var_name(xpr_text , reg_exp_flags);\
65 if(!local_is_initialized_2)\
66{\
67 boost::interprocess::ipcdetail::atomic_write32(®exp_initialized_2, 1);\
68 gregexplock.get_lock().lock().unlock();\
69}