Commit Diff


commit - 3ef80ba5f5c29a8367d32353a9620ec4cf9cb880
commit + 7bf2db4c2ae30c0f7b320e57060715bf6279e98a
blob - 9132235b3419d7be512670cb6002f865119f72e7
blob + 7b590bc4b5971d478a57b5b8598659cf147b0d22
--- src/cmd/9term/malloc.c
+++ src/cmd/9term/malloc.c
@@ -7,8 +7,6 @@
 #define NOPLAN9DEFINES
 #include <libc.h>
 
-static Lock malloclock;
-
 void*
 p9malloc(ulong n)
 {
@@ -16,9 +14,7 @@ p9malloc(ulong n)
 
 	if(n == 0)
 		n++;
-	lock(&malloclock);
 	v = malloc(n);
-	unlock(&malloclock);
 	print("p9malloc %lud => %p; pc %lux\n", n, v, getcallerpc(&n));
 	return v;
 }
@@ -28,10 +24,8 @@ p9free(void *v)
 {
 	if(v == nil)
 		return;
-	lock(&malloclock);
 	print("p9free %p; pc %lux\n", v, getcallerpc(&v));
 	free(v);
-	unlock(&malloclock);
 }
 
 void*
@@ -42,9 +36,7 @@ p9calloc(ulong a, ulong b)
 	if(a*b == 0)
 		a = b = 1;
 
-	lock(&malloclock);
 	v = calloc(a*b, 1);
-	unlock(&malloclock);
 	print("p9calloc %lud %lud => %p; pc %lux\n", a, b, v, getcallerpc(&a));
 	return v;
 }
@@ -54,9 +46,7 @@ p9realloc(void *v, ulong n)
 {
 	void *vv;
 
-	lock(&malloclock);
 	vv = realloc(v, n);
-	unlock(&malloclock);
 	print("p9realloc %p %lud => %p; pc %lux\n", v, n, vv, getcallerpc(&v));
 	return vv;
 }
blob - 51a2c61f52ecf52d32fcd4e61e08862d481f774e
blob + 744af835ee15ac8b3ae73b8da2ffc74130b8e25b
--- src/lib9/debugmalloc.c
+++ src/lib9/debugmalloc.c
@@ -6,7 +6,6 @@
  * The Unix libc routines cannot be trusted to do their own locking.
  * Sad but apparently true.
  */
-static Lock malloclock;
 static int mallocpid;
 
 /*
@@ -112,11 +111,9 @@ p9malloc(ulong n)
 	if(n == 0)
 		n++;
 /*fprint(2, "%s %d malloc\n", argv0, getpid()); */
-	lock(&malloclock);
 	mallocpid = getpid();
 	v = malloc(n+Overhead);
 	v = mark(v, getcallerpc(&n), n, MallocMagic);
-	unlock(&malloclock);
 /*fprint(2, "%s %d donemalloc\n", argv0, getpid()); */
 	return v;
 }
@@ -128,11 +125,9 @@ p9free(void *v)
 		return;
 
 /*fprint(2, "%s %d free\n", argv0, getpid()); */
-	lock(&malloclock);
 	mallocpid = getpid();
 	v = mark(v, getcallerpc(&v), 0, FreeMagic);
 	free(v);
-	unlock(&malloclock);
 /*fprint(2, "%s %d donefree\n", argv0, getpid()); */
 }
 
@@ -142,11 +137,9 @@ p9calloc(ulong a, ulong b)
 	void *v;
 
 /*fprint(2, "%s %d calloc\n", argv0, getpid()); */
-	lock(&malloclock);
 	mallocpid = getpid();
 	v = calloc(a*b+Overhead, 1);
 	v = mark(v, getcallerpc(&a), a*b, CallocMagic);
-	unlock(&malloclock);
 /*fprint(2, "%s %d donecalloc\n", argv0, getpid()); */
 	return v;
 }
@@ -155,12 +148,10 @@ void*
 p9realloc(void *v, ulong n)
 {
 /*fprint(2, "%s %d realloc\n", argv0, getpid()); */
-	lock(&malloclock);
 	mallocpid = getpid();
 	v = mark(v, getcallerpc(&v), 0, CheckMagic);
 	v = realloc(v, n+Overhead);
 	v = mark(v, getcallerpc(&v), n, ReallocMagic);
-	unlock(&malloclock);
 /*fprint(2, "%s %d donerealloc\n", argv0, getpid()); */
 	return v;
 }
blob - 33593aa2f1889297ad847a400b8f45888e04dfc1
blob + 695ff8bc04529b709d6bd6319eb05d445008c41e
--- src/lib9/malloc.c
+++ src/lib9/malloc.c
@@ -7,50 +7,31 @@
 #define NOPLAN9DEFINES
 #include <libc.h>
 
-static Lock malloclock;
 
 void*
 p9malloc(ulong n)
 {
-	void *v;
-
 	if(n == 0)
 		n++;
-	lock(&malloclock);
-	v = malloc(n);
-	unlock(&malloclock);
-	return v;
+	return malloc(n);
 }
 
 void
 p9free(void *v)
 {
-	if(v == nil)
-		return;
-	lock(&malloclock);
 	free(v);
-	unlock(&malloclock);
 }
 
 void*
 p9calloc(ulong a, ulong b)
 {
-	void *v;
-
 	if(a*b == 0)
 		a = b = 1;
-
-	lock(&malloclock);
-	v = calloc(a*b, 1);
-	unlock(&malloclock);
-	return v;
+	return calloc(a, b);
 }
 
 void*
 p9realloc(void *v, ulong n)
 {
-	lock(&malloclock);
-	v = realloc(v, n);
-	unlock(&malloclock);
-	return v;
+	return realloc(v, n);
 }