ext/iodine/iodine_pubsub.c
/* calls an engine's `subscribe` callback within the GVL */
calls an engine's `subscribe` callback within the GVL
calls an engine ' s ` subscribe ` callback within the GVL
static void *iodine_pubsub_GIL_subscribe(void *tsk_) {
  iodine_pubsub_task_s *task = tsk_;
  VALUE args[2];
  args[0] = rb_str_new(task->ch.data, task->ch.len);
  args[1] = task->pattern ? Qtrue : Qnil; 
  IodineCaller.call2(task->eng->handler, subscribe_id, 2, args);
  return NULL;
}
static void * iodine_pubsub_GIL_subscribe ( void * tsk_ ) { iodine_pubsub_task_s * task = tsk_ ; VALUE args [ 2 ] ; args [ 0 ] = rb_str_new ( task -> ch . data , task -> ch . len ) ; args [ 1 ] = task -> pattern ? Qtrue : Qnil ; IodineCaller . call2 ( task -> eng -> handler , subscribe_id , 2 , args ) ; return NULL ; }
calls an engine's `subscribe` callback within the GVL
calls an engine ' s ` subscribe ` callback within the GVL
// TODO: Qtrue should be :redis