Browse Source

Add assert into scratch_allocator_proc to prevent initialization cycles #504

gingerBill 5 years ago
parent
commit
89ccb5b99f
2 changed files with 2 additions and 1 deletions
  1. 2 0
      core/mem/allocators.odin
  2. 0 1
      examples/demo/demo.odin

+ 2 - 0
core/mem/allocators.odin

@@ -116,6 +116,8 @@ scratch_allocator_proc :: proc(allocator_data: rawptr, mode: Allocator_Mode,
 
 	if scratch.data == nil {
 		DEFAULT_SCRATCH_BACKING_SIZE :: 1<<22;
+		assert(context.allocator.procedure != scratch_allocator_proc &&
+		       context.allocator.data != allocator_data);
 		scratch_allocator_init(scratch, make([]byte, 1<<22));
 	}
 

+ 0 - 1
examples/demo/demo.odin

@@ -1836,4 +1836,3 @@ main :: proc() {
 		soa_struct_layout();
 	}
 }
-