Loeschen von walker entfernt.
Wenn keine MNPC mehr angemeldet waren, wurde
die Datenstruktur zurueckgesetzt und spaeter neu
erstellt.
So dringend brauchen wir das bisschen Speicher nicht
und es ist auch fehleranfaellig. (Beispielsweise
kam es vor, dass num_walker 0 war und die walker
alle geloescht wurden, obwohl noch welche da waren...)
Change-Id: I87c0afe2a23b8c0428ad0afe0f31d4edc15af340
diff --git a/p/service/padreic/mnpc/walk_master.c b/p/service/padreic/mnpc/walk_master.c
index abd61bc..82274ba 100644
--- a/p/service/padreic/mnpc/walk_master.c
+++ b/p/service/padreic/mnpc/walk_master.c
@@ -44,12 +44,7 @@
protected void create()
{
- if (clonep(this_object())) {
- destruct(this_object());
- raise_error("walk_master can't be clonend.\n");
- }
- walker=({});
- num_walker=0;
+ walker=map(allocate(MAX_DELAYTIME+1), #'allocate);
enable_commands(); // ohne das, kein heart_beat()
}
@@ -84,8 +79,6 @@
}
if (!num_walker) {
set_heart_beat(1);
- if (!pointerp(walker) || !sizeof(walker))
- walker=map(allocate(MAX_DELAYTIME+1), #'allocate);
}
next=counter;
next+=(time+random(rand))/2;
@@ -162,7 +155,6 @@
else counter++;
if (!num_walker) {
set_heart_beat(0);
- walker=({}); // Speicher freigeben...
}
}