示例#1
0
static VALUE
rbgio_async_ready_callback_call(VALUE data)
{
        static VALUE s_id_call;
        struct async_ready_callback_data *real;
        VALUE block;
 
        if (s_id_call == 0)
                s_id_call = rb_intern("call");

        real = (struct async_ready_callback_data *)data;
        block = USE_BLOCK(real->data);
        if (!NIL_P(block))
                rb_funcall(block, s_id_call, 1, GOBJ2RVAL_UNREF(real->result));

        return Qnil;
}
示例#2
0
static void
ioscheduler_source_callback_free(gpointer data)
{
        USE_BLOCK(data);
}
示例#3
0
static void
ioscheduler_job_callback_free(gpointer data)
{
        USE_BLOCK((VALUE)data);
}