Blob Blame History Raw
Index: glib/src/rbglib_maincontext.c
===================================================================
--- glib/src/rbglib_maincontext.c	(revision 3283)
+++ glib/src/rbglib_maincontext.c	(working copy)
@@ -753,6 +753,14 @@
 }
 #endif
 
+#ifndef HAVE_RB_THREAD_BLOCKING_REGION
+static void
+ruby_source_remove(VALUE tag)
+{
+    g_source_remove(NUM2UINT(tag));
+}
+#endif
+
 void
 Init_glib_main_context()
 {
@@ -831,7 +839,7 @@
         source = ruby_source_new();
         tag = g_source_attach(source, NULL);
         g_source_unref(source);
-        rb_set_end_proc((void (*)(VALUE))g_source_remove, (VALUE)tag);
+        rb_set_end_proc(ruby_source_remove, UINT2NUM(tag));
     }
 #endif
 }