git: 9front

Download patch

ref: eee82a1ef008e7ee8ecc37fa267a403b9cf7466e
parent: 16ce58235cae0571814556c64ae7021c0589d866
author: cinap_lenrek <cinap_lenrek@localhost>
date: Thu Jun 30 08:20:30 EDT 2011

acid/pool: fix issue #61

--- a/sys/lib/acid/pool
+++ b/sys/lib/acid/pool
@@ -95,18 +95,22 @@
 defn
 Magic(m)
 {
+	if m == DEAD_MAGIC then
+		return "dead";
 	if m == FREE_MAGIC then
 		return "free";
+	if m == ALLOC_MAGIC then
+		return "alloc";
+	if m == UNALLOC_MAGIC then
+		return "unalloc";
 	if m == ARENA_MAGIC then
 		return "arena";
-	if m == UNKEMPT_MAGIC then
-		return "unkempt";
-	if m == KEMPT_MAGIC then
-		return "kempt";
 	if m == ARENATAIL_MAGIC then
 		return "arenatail";
-	if m == DEAD_MAGIC then
-		return "dead";
+	if m == ALIGN_MAGIC then
+		return "align";
+	if m == FLOATING_MAGIC then
+		return "floating";
 	return "unknown magic";
 }
 
@@ -150,7 +154,7 @@
 	taddr = B2T(addr);
 	complex Btail taddr;
 
-	if addr.magic == FREE_MAGIC || addr.magic == UNKEMPT_MAGIC then {
+	if addr.magic == FREE_MAGIC || addr.magic == UNALLOC_MAGIC then {
 		if taddr.magic0 != TAIL_MAGIC0 || taddr.magic1 != TAIL_MAGIC1 then
 			print(addr\X, " corrupt tail magic\n");
 		if taddr.size != addr.size then
@@ -170,7 +174,7 @@
 			print(addr\X, " bad size in arena tail\n");
 	}
 
-	if addr.magic == KEMPT_MAGIC then {
+	if addr.magic == ALLOC_MAGIC then {
 		a = addr;
 		complex Alloc a;
 		if a.size > 1024*1024*1024 then 
@@ -296,8 +300,8 @@
 
 	while *addr != FREE_MAGIC 
 		&& *addr !=  ARENA_MAGIC
-		&& *addr != UNKEMPT_MAGIC
-		&& *addr != KEMPT_MAGIC
+		&& *addr != UNALLOC_MAGIC
+		&& *addr != ALLOC_MAGIC
 		&& *addr != ARENATAIL_MAGIC
 	do
 		addr = addr-4;
--