diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 61b18c4b..acb92a28 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,8 +6,10 @@ trigger: branches: include: - - main - - dev* + - master + - dev + - dev2 + - dev3 tags: include: - v* diff --git a/src/arena.c b/src/arena.c index d0e60db7..0d86669b 100644 --- a/src/arena.c +++ b/src/arena.c @@ -216,21 +216,20 @@ static mi_decl_noinline void* mi_arena_try_alloc_at( // now actually commit bool commit_zero = false; if (!_mi_os_commit_ex(p, mi_size_of_slices(slice_count), &commit_zero, mi_size_of_slices(slice_count - already_committed_count))) { - // if the commit fails, roll back and return NULL - _mi_arenas_free(p, mi_size_of_slices(slice_count), *memid); // this will decommit as well (if partially committed) - return NULL; + memid->initially_committed = false; } - - // committed - if (commit_zero) { memid->initially_zero = true; } - #if MI_DEBUG > 1 - if (memid->initially_zero) { - if (!mi_mem_is_zero(p, mi_size_of_slices(slice_count))) { - _mi_error_message(EFAULT, "interal error: arena allocation was not zero-initialized!\n"); - memid->initially_zero = false; + else { + // committed + if (commit_zero) { memid->initially_zero = true; } + #if MI_DEBUG > 1 + if (memid->initially_zero) { + if (!mi_mem_is_zero(p, mi_size_of_slices(slice_count))) { + _mi_error_message(EFAULT, "interal error: arena allocation was not zero-initialized!\n"); + memid->initially_zero = false; + } } + #endif } - #endif } else { // already fully commited.