Erkennung rekursiver Fehler verbessert
Es wird nicht mehr ein Flag mit Zeitstempel gesetzt,
sondern die DI_EVAL_NUMBER.
Change-Id: I9dc794be9eb5711c5368ae2a723c935108f87ab5
diff --git a/secure/master.c b/secure/master.c
index 9f20f49..131c951 100644
--- a/secure/master.c
+++ b/secure/master.c
@@ -923,7 +923,8 @@
string cr;
mixed *lfile_size;
- if (handling_error == efun::time()) {
+ if (handling_error == efun::driver_info(DI_EVAL_NUMBER))
+ {
// Fehler im Verlauf einer Fehlerbehandlung: Fehlerbehandlung minimieren,
// nur Meldung an eingeloggte Erzmagier.
tell_players("log_error(): Rekursiver Fehler in Fehlerbehandlung. "
@@ -931,7 +932,7 @@
+ message, ARCH_LVL);
return;
}
- handling_error = efun::time();
+ handling_error = efun::driver_info(DI_EVAL_NUMBER);
//Fehlerdaten an den Errord zur Speicherung weitergeben, falls wir sowas
//haben.
@@ -1038,7 +1039,7 @@
private void call_runtime_error(string err, string prg, string curobj,
int line, mixed culprit, int caught, object po)
{
- if (handling_error == efun::time())
+ if (handling_error == efun::driver_info(DI_EVAL_NUMBER))
{
// Fehler im Verlauf einer Fehlerbehandlung: Fehlerbehandlung minimieren,
// nur Meldung an eingeloggte Regionsmagier.
@@ -1047,7 +1048,7 @@
+ curobj + ": " + err, LORD_LVL);
return;
}
- handling_error = efun::time();
+ handling_error = efun::driver_info(DI_EVAL_NUMBER);
//Fehlerdaten an den Errord zur Speicherung weitergeben, falls wir sowas
//haben.