Blob
1 /*2 * These are here mainly so that I can link against3 * debugmalloc.c instead and not recompile the world.4 */6 #include <u.h>7 #define NOPLAN9DEFINES8 #include <libc.h>10 static Lock malloclock;12 void*13 p9malloc(ulong n)14 {15 void *v;17 if(n == 0)18 n++;19 lock(&malloclock);20 v = malloc(n);21 unlock(&malloclock);22 return v;23 }25 void26 p9free(void *v)27 {28 if(v == nil)29 return;30 lock(&malloclock);31 free(v);32 unlock(&malloclock);33 }35 void*36 p9calloc(ulong a, ulong b)37 {38 void *v;40 if(a*b == 0)41 a = b = 1;43 lock(&malloclock);44 v = calloc(a*b, 1);45 unlock(&malloclock);46 return v;47 }49 void*50 p9realloc(void *v, ulong n)51 {52 lock(&malloclock);53 v = realloc(v, n);54 unlock(&malloclock);55 return v;56 }