Manpages aus Driver aktualisiert.
Hierbei handelt es sich um Manpages, welche vom MG
modifiziert wurden.
Die Bemerkungen und Beispiele wurden ausgelagert in
separate Manpages, um zukuenftige Aktualisierungen
aus dem Driver zu erleichtern.
Change-Id: I5a6248cd65a8cd841831617a92aa1ee191dbf661
diff --git a/doc/efun/limited b/doc/efun/limited
index c967812..1155af1 100644
--- a/doc/efun/limited
+++ b/doc/efun/limited
@@ -1,30 +1,32 @@
VORLAEUFIG, GESCHUETZT
SYNOPSIS
- #include <sys/rtlimits.h>
+ #include <rtlimits.h>
- mixed limited(closure fun);
- mixed limited(closure fun, int tag, int value, ...);
- mixed limited(closure fun, int *limits [, mixed *args]);
+ mixed limited(closure fun)
+ mixed limited(closure fun, int tag, int value, ...)
+ mixed limited(closure fun, int *limits)
+ mixed limited(closure fun, int *limits, mixed *args)
BESCHREIBUNG
limited() ruft die Funktion <fun> mit den bezeichneten Argumenten
- <args> auf und fuehrt sie mit den gegebenen Laufzeitlimiten aus.
+ <args> auf und fuehrt sie mit den gegebenen Laufzeitlimitierungen aus.
Beim Ende der Funktion <fun> werden die momentan aktiven
- Laufzeitlimiten wiederhergestellt. limited() liefert den
+ Laufzeitlimitierungen wiederhergestellt. limited() liefert den
Rueckgabewert der Closure <fun> zurueck.
- Die Laufzeitlimiten koennen in zwei Formen angegeben werden: als
- Array (wie es von query_limits() geliefert wird) oder als Liste von
- Werten mit Tags. Wird limited() ohne Angabe von Limits aufgerufen,
- gelten die Laufzeitlimiten als 'unlimitiert'.
+ Die Laufzeitlimitierungen koennen in zwei Formen angegeben werden:
+ * als Array (wie es von query_limits() geliefert wird) oder
+ * als Liste von Werten mit Tags.
+ Wird limited() ohne Angabe von Limits aufgerufen, gelten die
+ Laufzeitlimiten als 'unlimitiert'.
- Die Limiteneinstellung kennt drei spezielle Werte aus <rtlimits.h>:
+ Die Limitierung kennt drei spezielle Werte aus <rtlimits.h>:
LIMIT_UNLIMITED: es gibt kein Limit
LIMIT_KEEP: das zuletzt gesetzte Limit wird beibehalten
- LIMIT_DEFAULT: die 'globalen' Limiten werden verwendet
+ LIMIT_DEFAULT: die 'globalen' Limitierungen werden verwendet
- Fuer LIMIT_COST, die Spezialwerte haben diese Bedeutung:
+ Fuer LIMIT_COST haben folgende Spezialwerte eine Bedeutung:
LIMIT_UNLIMITED: die Ausfuehrung kosten lediglich einen Tick
LIMIT_KEEP: LIMIT_COST wird auf 0 gesetzt
LIMIT_DEFAULT: LIMIT_COST wird auf -100 gesetzt
@@ -32,33 +34,23 @@
limited() erzeugt eine Schutzverletzung ("limited", current_object,
fun, limits-array).
-BEMERKUNGEN:
- Diese Funktion kann bei uns mudlibweit genutzt werden. Allerdings wird
- nur die _Reduktion_ von LIMIT_EVAL zugelassen, alle anderen Limits
- duerfen _nicht_ veraendert werden. Hierbei ist zu beachten, dass das
- Limit fuer LIMIT_EVAL um min. 1000 Ticks unter den noch verfuegbaren
- Ticks liegen muss (get_eval_cost()).
- Fuer LIMIT_COST sind nur 0 und -100 zugelassen.
BEISPIELE
limited(#'function)
- --> fuehrt die Funktion ohne Limiten aus.
+ --> fuehrt die Funktion ohne Limits aus.
limited(#'function, ({ 200000 }), "foo")
- --> fuehrt die Funktion mit einem Eval-Kosten Limit von 200000 Ticks
+ --> fuehrt die Funktion mit einem Eval-Kosten-Limit von 200000 Ticks
aus. Die Funktion wird als 'function("foo")' aufgerufen.
limited(lambda(0, ({#'function, "foo"})), LIMIT_EVAL, 200000)
- --> fuehrt die Funktion mit einem Eval-Kosten Limit von 200000 Ticks
+ --> fuehrt die Funktion mit einem Eval-Kosten-Limit von 200000 Ticks
aus. Die Funktion wird als 'function("foo")' aufgerufen.
-AENDERUNGEN
+GESCHICHTE
Eingefuehrt in LDMud 3.2.7.
LDMud 3.3.563 fuehrte LIMIT_COST ein.
+ LDMud 3.5.0 fuehrte LIMIT_MEMORY ein.
SIEHE AUCH
query_limits(E), set_limits(E)
- get_eval_cost(E)
-
-16.05.2007, Zesstra
-