summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortduehr <td@matasano.com>2014-06-05 22:05:06 -0500
committertduehr <td@matasano.com>2014-06-05 22:05:06 -0500
commitb0a42bb2bd2fbef3015679a61a5290fad48df6db (patch)
tree299de08b22c7311d0d9e3939901c1924ec0222e0
parentd65b1b16db9c4f294098861598b6a14dfa1c6f93 (diff)
parentb74a5bfe5d832ed7d8913ede46f033de1d590cd8 (diff)
downloadffi-b0a42bb2bd2fbef3015679a61a5290fad48df6db.tar.gz
Merge pull request #309 from larskanis/fix-return-of-callback_with_gvl
Fix return type of callback function to rb_thread_call_with_gvl().
-rw-r--r--ext/ffi_c/Function.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/ffi_c/Function.c b/ext/ffi_c/Function.c
index cd7bbb1..a18b1b3 100644
--- a/ext/ffi_c/Function.c
+++ b/ext/ffi_c/Function.c
@@ -86,7 +86,7 @@ static void function_free(Function *);
static VALUE function_init(VALUE self, VALUE rbFunctionInfo, VALUE rbProc);
static void callback_invoke(ffi_cif* cif, void* retval, void** parameters, void* user_data);
static bool callback_prep(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize);
-static VALUE callback_with_gvl(void* data);
+static void* callback_with_gvl(void* data);
static VALUE invoke_callback(void* data);
static VALUE save_callback_exception(void* data, VALUE exc);
@@ -731,10 +731,11 @@ async_cb_call(void *data)
#endif
-static VALUE
+static void *
callback_with_gvl(void* data)
{
rb_rescue2(invoke_callback, (VALUE) data, save_callback_exception, (VALUE) data, rb_eException, (VALUE) 0);
+ return NULL;
}
static VALUE