fix thread-id reset on page abandonment

This commit is contained in:
Daan Leijen 2019-08-21 08:06:40 -07:00
parent ff88361329
commit 12257e5bc1
3 changed files with 19 additions and 4 deletions

View file

@ -323,7 +323,13 @@ static inline uintptr_t mi_page_thread_id(const mi_page_t* page) {
}
static inline void mi_page_init_flags(mi_page_t* page, uintptr_t thread_id) {
page->flags = thread_id;
mi_assert_internal((thread_id & MI_PAGE_FLAGS_MASK) == 0);
page->flags = thread_id;
}
static inline void mi_page_set_thread_id(mi_page_t* page, uintptr_t thread_id) {
mi_assert_internal((thread_id & MI_PAGE_FLAGS_MASK) == 0);
page->flags = thread_id | (page->flags & MI_PAGE_FLAGS_MASK);
}
static inline bool mi_page_is_in_full(const mi_page_t* page) {