diff --git a/include/mimalloc/atomic.h b/include/mimalloc/atomic.h index d2711019..3a0d4892 100644 --- a/include/mimalloc/atomic.h +++ b/include/mimalloc/atomic.h @@ -441,13 +441,13 @@ static inline void mi_lock_release(mi_lock_t* lock) { pthread_mutex_unlock(lock); } static inline void mi_lock_init(mi_lock_t* lock) { - (void)(lock); + pthread_mutex_init(lock, NULL); } static inline void mi_lock_done(mi_lock_t* lock) { - (void)(lock); + pthread_mutex_destroy(lock); } - +/* #elif defined(__cplusplus) #include @@ -469,6 +469,7 @@ static inline void mi_lock_init(mi_lock_t* lock) { static inline void mi_lock_done(mi_lock_t* lock) { (void)(lock); } +*/ #else diff --git a/src/arena.c b/src/arena.c index 24f1299c..7d7eb089 100644 --- a/src/arena.c +++ b/src/arena.c @@ -863,7 +863,7 @@ void _mi_arena_field_cursor_init(mi_heap_t* heap, mi_subproc_t* subproc, mi_aren current->start = (heap == NULL || max_arena == 0 ? 0 : (mi_arena_id_t)(_mi_heap_random_next(heap) % max_arena)); current->end = current->start + max_arena; } - mi_assert_internal(current->start < max_arena); + mi_assert_internal(current->start <= max_arena); } static mi_segment_t* mi_arena_segment_clear_abandoned_at(mi_arena_t* arena, mi_subproc_t* subproc, mi_bitmap_index_t bitmap_idx) {