| 349 | } |
| 350 | |
| 351 | static void mi_page_to_full(mi_page_t* page, mi_page_queue_t* pq) { |
| 352 | mi_assert_internal(pq == mi_page_queue_of(page)); |
| 353 | mi_assert_internal(!mi_page_immediate_available(page)); |
| 354 | mi_assert_internal(!mi_page_is_in_full(page)); |
| 355 | |
| 356 | if (mi_page_is_in_full(page)) return; |
| 357 | mi_page_queue_enqueue_from(&mi_page_heap(page)->pages[MI_BIN_FULL], pq, page); |
| 358 | _mi_page_free_collect(page,false); // try to collect right away in case another thread freed just before MI_USE_DELAYED_FREE was set |
| 359 | } |
| 360 | |
| 361 | |
| 362 | // Abandon a page with used blocks at the end of a thread. |
no test coverage detected