概要


使い切ったスラブを、スラブのリストから外す。

引数

  • traits: スラブの管理情報。

戻り値


なし。

実装



void
object_slab_cache_t::unload_filled(object_slab_traits_t* traits)

{
    if (traits != traits->next) {
        traits->prev->next = traits->next;
        traits->next->prev = traits->prev;
        m_vacant = traits->next;
        if (m_vacant->refc == 0) m_cache_count--;
    } else {
        m_vacant = NULL;
    }
    if (m_occupied) {
        traits->prev = m_occupied;
        traits->next = m_occupied->next;
        traits->prev->next = traits->next->prev = traits;
    } else {
        m_occupied = traits->next = traits->prev = traits;
    }
}

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

管理人/副管理人のみ編集できます