MCPcopy Create free account
hub / github.com/acl-dev/acl / tls_mem_realloc

Function tls_mem_realloc

lib_acl/src/stdlib/memory/acl_mem_slice.c:360–378  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

358}
359
360static void *tls_mem_realloc(const char *filename, int line, void *ptr, size_t size)
361{
362 void *buf = tls_mem_alloc(filename, line, size);
363 MBLOCK *old_real_ptr;
364 size_t old_len;
365
366 if (ptr == NULL)
367 return buf;
368 CHECK_IN_PTR2(ptr, old_real_ptr, old_len, filename, line);
369 memcpy(buf, ptr, old_len > size ? size : old_len);
370 if (old_real_ptr->mem_slice->tid != (unsigned long) acl_pthread_self()) {
371 MUTEX_LOCK(old_real_ptr->mem_slice);
372 PRIVATE_ARRAY_PUSH(old_real_ptr->mem_slice->list, old_real_ptr);
373 MUTEX_UNLOCK(old_real_ptr->mem_slice);
374 } else
375 acl_slice_pool_free(filename, line, old_real_ptr);
376
377 return buf;
378}
379
380static void *tls_mem_memdup(const char *filename, int line, const void *ptr, size_t len)
381{

Callers

nothing calls this directly

Calls 4

tls_mem_allocFunction · 0.85
memcpyFunction · 0.85
acl_pthread_selfFunction · 0.85
acl_slice_pool_freeFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…