|
@@ -86,6 +86,7 @@ void * realloc(void *ptr, size_t size) {
|
|
|
owner_raw_block->size), remaining_size);
|
|
|
|
|
|
#ifdef WITH_ALLOCATOR_STATS
|
|
|
+ LOCK_GLOBAL();
|
|
|
systemallocator.dmm_stats.total_mem_allocated -=
|
|
|
remaining_size;
|
|
|
TRACE_2("dmmlib - ms all %zu\n",
|
|
@@ -97,6 +98,7 @@ void * realloc(void *ptr, size_t size) {
|
|
|
systemallocator.dmm_stats.total_mem_requested);
|
|
|
#endif
|
|
|
systemallocator.dmm_stats.num_realloc++;
|
|
|
+ UNLOCK_GLOBAL();
|
|
|
#endif
|
|
|
|
|
|
return_ptr = ptr;
|
|
@@ -126,10 +128,14 @@ void * realloc(void *ptr, size_t size) {
|
|
|
|
|
|
#ifdef WITH_DEBUG
|
|
|
LOCK_GLOBAL();
|
|
|
+ LOCK_RAW_BLOCK(owner_raw_block);
|
|
|
SLIST_REMOVE(&systemallocator.bb_head, owner_raw_block,
|
|
|
raw_block_header_s, pointers);
|
|
|
+ UNLOCK_RAW_BLOCK(owner_raw_block);
|
|
|
+ LOCK_RAW_BLOCK(new_block);
|
|
|
SLIST_INSERT_HEAD(&systemallocator.bb_head,
|
|
|
new_block, pointers);
|
|
|
+ UNLOCK_RAW_BLOCK(new_block);
|
|
|
UNLOCK_GLOBAL();
|
|
|
#endif
|
|
|
|