| 165 | |
| 166 | |
| 167 | static void mi_heap_main_init(void) { |
| 168 | if (_mi_heap_main.cookie == 0) { |
| 169 | _mi_heap_main.thread_id = _mi_thread_id(); |
| 170 | _mi_heap_main.cookie = 1; |
| 171 | #if defined(_WIN32) && !defined(MI_SHARED_LIB) |
| 172 | _mi_random_init_weak(&_mi_heap_main.random); // prevent allocation failure during bcrypt dll initialization with static linking |
| 173 | #else |
| 174 | _mi_random_init(&_mi_heap_main.random); |
| 175 | #endif |
| 176 | _mi_heap_main.cookie = _mi_heap_random_next(&_mi_heap_main); |
| 177 | _mi_heap_main.keys[0] = _mi_heap_random_next(&_mi_heap_main); |
| 178 | _mi_heap_main.keys[1] = _mi_heap_random_next(&_mi_heap_main); |
| 179 | } |
| 180 | } |
| 181 | |
| 182 | mi_heap_t* _mi_heap_main_get(void) { |
| 183 | mi_heap_main_init(); |
no test coverage detected