V
Victor Lin
Hi,
I am going to develop a c library binding with ctypes. That c library
will call callback from worker threads it created. Here comes the
problem : Will the GIL be acquired before it goes into Python
function?
I got a little try..
DSPPROC = WINFUNCTYPE(None, DWORD, DWORD, c_void_p, DWORD, c_void_p)
def test(handle, channel, buffer, length, user):
print handle, channel, buffer, length, user
dsp = BASS_ChannelSetDSP(stream, DSPPROC(test), None, 123)
I got "access violation" when I run it... It seems that the ctypes
did't acquire GIL before it call the python callback. As the document
says.
WINFUNCTYPE will release GIL during the call
But it does not mention callback about Python function? How about a
call from another thread? Could somebody help me?
Thanks.
Victor Lin.
I am going to develop a c library binding with ctypes. That c library
will call callback from worker threads it created. Here comes the
problem : Will the GIL be acquired before it goes into Python
function?
I got a little try..
DSPPROC = WINFUNCTYPE(None, DWORD, DWORD, c_void_p, DWORD, c_void_p)
def test(handle, channel, buffer, length, user):
print handle, channel, buffer, length, user
dsp = BASS_ChannelSetDSP(stream, DSPPROC(test), None, 123)
I got "access violation" when I run it... It seems that the ctypes
did't acquire GIL before it call the python callback. As the document
says.
WINFUNCTYPE will release GIL during the call
But it does not mention callback about Python function? How about a
call from another thread? Could somebody help me?
Thanks.
Victor Lin.