void Thread::unlock_after_fork(STATE) { unlock_object_after_fork(state); memory::LockedObjects& los = vm()->locked_objects(); for(memory::LockedObjects::iterator i = los.begin(); i != los.end(); ++i) { Object* obj = static_cast<Object*>(*i); if(obj && obj != this) { obj->unlock_object_after_fork(state); } } los.clear(); }
void Thread::unlock_after_fork(STATE, GCToken gct) { unlock_object_after_fork(state, gct); LockedObjects& los = vm_->locked_objects(); for(LockedObjects::iterator i = los.begin(); i != los.end(); ++i) { Object* obj = static_cast<Object*>(*i); if(obj && obj != this) { obj->unlock_object_after_fork(state, gct); } } los.clear(); }