| 476 | } |
| 477 | |
| 478 | dict_iter redisDbPersistentData::find_cached_threadsafe(const char *key) const |
| 479 | { |
| 480 | dict *dictTombstone; |
| 481 | __atomic_load(&m_pdictTombstone, &dictTombstone, __ATOMIC_ACQUIRE); |
| 482 | dictEntry *de = dictFind(m_pdict, key); |
| 483 | if (de == nullptr && m_pdbSnapshot != nullptr && dictFind(dictTombstone, key) == nullptr) |
| 484 | { |
| 485 | auto itr = m_pdbSnapshot->find_cached_threadsafe(key); |
| 486 | if (itr != nullptr) |
| 487 | return itr; |
| 488 | } |
| 489 | return dict_iter(m_pdict, de); |
| 490 | } |
| 491 | |
| 492 | struct scan_callback_data |
| 493 | { |
no test coverage detected