diff options
Diffstat (limited to 'Src/mem.c')
-rw-r--r-- | Src/mem.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Src/mem.c b/Src/mem.c index 499f7d7e4..bcdd1efe9 100644 --- a/Src/mem.c +++ b/Src/mem.c @@ -329,6 +329,21 @@ mmap_heap_alloc(size_t *n) } #endif +/* check whether a pointer is within a memory pool */ + +/**/ +mod_export void * +zheapptr(void *p) +{ + Heap h; + queue_signals(); + for (h = heaps; h; h = h->next) + if ((char *)p >= arena(h) && + (char *)p + H_ISIZE < arena(h) + ARENA_SIZEOF(h)) + break; + unqueue_signals(); + return (h ? p : 0); +} /* allocate memory from the current memory pool */ |