static void aio_completion_handler(sigval_t sigval) { Pyaio_cb *aio; aio = (Pyaio_cb*) sigval.sival_ptr; /* Hybrid Approach if Pending fails grab GIL do it directly */ if(Py_AddPendingCall(&_async_callback, aio) < 0) { PyGILState_STATE state = PyGILState_Ensure(); _async_callback(aio); PyGILState_Release(state); } return; }
void pegasus_module::module_rep::_send_async_callback(Uint32 msg_handle, Message *msg, void *parm) { AutoMutex autoMut(_thread_safety); _async_callback(msg_handle, msg, parm); }