I am working on making our Ruby-C extension support Ruby-1.9’s
rb_thread_blocking_region feature to have the lock released while
doing a long time consuming operation. Could anybody point me to some
documentation or some links where I will be able to get more details
on the parameters this method is expecting and also the type signature
of parameters the unblock function is expecting.
I went through this link of mail thread where Sasada has replied
mail thread is old and also in this the rb_thread_blocking_region
method’s signature expects only 3 parameters, however when this is
implemented and compiled it throws any arguments mismatch error.
Further googling I found that it expects 4 parameters. Also this link
says the type of parameter the unblocking fucntion expects is
rb_thread_t * , so who will be passing this thread reference. Could
somebody help me out in knowing what is the type signature of the
parameters that the function is expecting.
Help highly appreciated!