ruby-devに振ります

> @@ -28,9 +28,10 @@
>  void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
>  void *rb_thread_call_without_gvl(void *(*func)(void *), void *data1,
>                                  rb_unblock_function_t *ubf, void *data2);
> -void *rb_thread_call_without_gvl2(void *(*func)(void *, int *), void *data1,
> +void *rb_thread_call_without_gvl2(void *(*func)(void *, VALUE *), void *data1,
>                                    rb_unblock_function_t *ubf, void *data2);

r37681 で rb_thread_call_without_gvl2() のコールバック関数の引数が intから
VALUEに変更されましたが、もともとrb_thread_call_without_gvl2()がGVL
外して動く処理でVALUEを使うのは混乱のもとだというので作った関数だという
経緯を考えると納得行きません。
これがアリなら今 void* 使ってるところ全部VALUEに戻してほしい。IO系だと
fd (要するにint)を渡したいケースがままあるので void* は我慢して使っているというのに。

が、それはちょっと過激なので、穏当なところでいうと unsigned long
あたりにしておくと、上記の紛らわしい問題が解消され、またプラットフォームによらずレジスターサイズに収まる整数値になってうれしいんじゃないですかね。

それでは。