From: "Iñaki Baz Castillo" Date: 2012-05-14T00:42:26+09:00 Subject: [C exten] Is it safe to use rb_hash_delete() without having the GVL? Hi, my code is a C event loop that runs without the GVL (so other Ruby 1.9.3 threads can take the control) and when an event occurs it get the GVL and executed a user provided Ruby block/proc. Prior to calling rb_thread_call_with_gvl(), my code removes an element from a Ruby hash by using rb_hash_delete(). This is, such an operation is done from a thread which has not the GVL, so it could be dangerous. However I get no errors at all. If I run more Ruby code without having the GVL then of course I get critical errors, but that does not occur if I just use rb_hash_delete(). So, is it safe to use rb_hash_delete() without having the GVL? Thanks a lot. -- Iñaki Baz Castillo