10000 Thread safe lock-free iteration · python/cpython@2b2e75a · GitHub
[go: up one dir, main page]

Skip to content

Commit 2b2e75a

Browse files
committed
Thread safe lock-free iteration
1 parent 92abb01 commit 2b2e75a

File tree

2 files changed

+304
-36
lines changed

2 files changed

+304
-36
lines changed

Include/internal/pycore_dict.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,8 @@ static inline PyDictUnicodeEntry* DK_UNICODE_ENTRIES(PyDictKeysObject *dk) {
210210
#define DICT_VERSION_INCREMENT (1 << (DICT_MAX_WATCHERS + DICT_WATCHED_MUTATION_BITS))
211211
#define DICT_WATCHER_MASK ((1 << DICT_MAX_WATCHERS) - 1)
212212

213+
#define DICT_VALUES_USED_SIZE(values) ((uint8_t *)values)[-2]
214+
213215
#ifdef Py_GIL_DISABLED
214216
#define DICT_NEXT_VERSION(INTERP) \
215217
(_Py_atomic_add_uint64(&(INTERP)->dict_state.global_version, DICT_VERSION_INCREMENT) + DICT_VERSION_INCREMENT)

0 commit comments

Comments
 (0)
0