Beispiel #1
0
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);
}