thread safe

YARVでは、割り込み処理が実行された場合にはどうやってthread safeを実現しているのかが気になって、30分ぐらいコードを眺めた。どうもよくわからない。割り込みがあるかをチェックして実行するYARV_CHECK_INTSが、rb_call0()などの特定の場所でしか実行されないことで、thread safeになっているということなのだろうか?cfuncがネストして実行されたときにも大丈夫?