Пример #1
0
static VALUE
ioscheduler_source_callback_call(VALUE data)
{
        static VALUE s_id_call;

        if (s_id_call == 0)
                s_id_call = rb_intern("call");

        return rb_funcall(USE_BLOCK_AND_SAVE(data), s_id_call, 0);
}
Пример #2
0
static VALUE
ioscheduler_job_callback_call(VALUE data)
{
        static VALUE s_id_call;
        struct ioscheduler_job_callback_data *real;

        if (s_id_call == 0)
                s_id_call = rb_intern("call");

        real = (struct ioscheduler_job_callback_data *)data;

        /* TODO: Totally unsure if _UNREF is correct here or not. */
        return rb_funcall(USE_BLOCK_AND_SAVE(real->data), s_id_call, 2,
                          GOBJ2RVAL_UNREF(real->job),
                          GOBJ2RVAL_UNREF(real->cancellable));
}