from cffi import FFI
ffi = FFI()
ffi.cdef("""
int test_foo();
int test_bar();
void register_callback(int (*func)());
void register_thread_callback(int (*func)());
""")
lib = ffi.dlopen("libtest.dylib")
def test_callback():
print 'call back OK'
return 0
# crashes here
def test_thread_callback():
print 'thread call back OK'
return 0
func = ffi.callback("int()", test_callback)
lib.register_callback(func)
thread_func = ffi.callback("int()", test_thread_callback)
lib.register_thread_callback(thread_func)
while True:
pass