You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So in this change, VALUE rb_mutex_synchronize(VALUE mutex, VALUE (*func)(VALUE arg), VALUE arg); is used.
But that function is poorly typed, every VALUE in there should be void* instead, except for VALUE mutex.
That is, both arg and the return value of func can be arbitrary things, not necessary Ruby values/handles.
We already pass arg as-is, but we unwrap+wrap the return value, which I highly suspect is the cause of that error in CI.
So we should remove the unwrap+wrap for rb_mutex_synchronize.
The text was updated successfully, but these errors were encountered:
Found by @jeremyevans through:
So in this change,
VALUE rb_mutex_synchronize(VALUE mutex, VALUE (*func)(VALUE arg), VALUE arg);
is used.But that function is poorly typed, every
VALUE
in there should bevoid*
instead, except forVALUE mutex
.That is, both
arg
and the return value offunc
can be arbitrary things, not necessary Ruby values/handles.We already pass
arg
as-is, but we unwrap+wrap the return value, which I highly suspect is the cause of that error in CI.So we should remove the unwrap+wrap for
rb_mutex_synchronize
.The text was updated successfully, but these errors were encountered: