コード例 #1
0
ファイル: thread.cpp プロジェクト: digideskio/rubinius
  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();
  }
コード例 #2
0
ファイル: thread.cpp プロジェクト: Red54/rubinius
  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();
  }