ldmud-3.4.1/doc/
ldmud-3.4.1/doc/efun.de/
ldmud-3.4.1/doc/efun/
ldmud-3.4.1/doc/man/
ldmud-3.4.1/doc/other/
ldmud-3.4.1/mud/
ldmud-3.4.1/mud/heaven7/
ldmud-3.4.1/mud/lp-245/
ldmud-3.4.1/mud/lp-245/banish/
ldmud-3.4.1/mud/lp-245/doc/
ldmud-3.4.1/mud/lp-245/doc/examples/
ldmud-3.4.1/mud/lp-245/doc/sefun/
ldmud-3.4.1/mud/lp-245/log/
ldmud-3.4.1/mud/lp-245/obj/Go/
ldmud-3.4.1/mud/lp-245/players/lars/
ldmud-3.4.1/mud/lp-245/room/death/
ldmud-3.4.1/mud/lp-245/room/maze1/
ldmud-3.4.1/mud/lp-245/room/sub/
ldmud-3.4.1/mud/lp-245/secure/
ldmud-3.4.1/mud/morgengrauen/
ldmud-3.4.1/mud/morgengrauen/lib/
ldmud-3.4.1/mud/sticklib/
ldmud-3.4.1/mud/sticklib/src/
ldmud-3.4.1/mudlib/uni-crasher/
ldmud-3.4.1/pkg/
ldmud-3.4.1/pkg/debugger/
ldmud-3.4.1/pkg/diff/
ldmud-3.4.1/pkg/misc/
ldmud-3.4.1/src/autoconf/
ldmud-3.4.1/src/hosts/
ldmud-3.4.1/src/hosts/GnuWin32/
ldmud-3.4.1/src/hosts/amiga/
ldmud-3.4.1/src/hosts/win32/
ldmud-3.4.1/src/ptmalloc/
ldmud-3.4.1/src/util/
ldmud-3.4.1/src/util/erq/
ldmud-3.4.1/src/util/indent/hosts/next/
ldmud-3.4.1/src/util/xerq/
ldmud-3.4.1/src/util/xerq/lpc/
ldmud-3.4.1/src/util/xerq/lpc/www/
ldmud-3.4.1/test/t-030925/
ldmud-3.4.1/test/t-040413/
ldmud-3.4.1/test/t-041124/
VORLAEUFIG, GESCHUETZT
SYNOPSIS
        #include <sys/rtlimits.h>

        mixed limited(closure fun);
        mixed limited(closure fun, int tag, int value, ...);
        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.

        Beim Ende der Funktion <fun> werden die momentan aktiven
        Laufzeitlimiten 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 Limiteneinstellung 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

        Fuer LIMIT_COST, die Spezialwerte haben diese 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

        limited() erzeugt eine Schutzverletzung ("limited", current_object,
        fun, limits-array).

BEISPIELE
        limited(#'function)
        --> fuehrt die Funktion ohne Limiten aus.

        limited(#'function, ({ 200000 }), "foo")
        --> 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
            aus. Die Funktion wird als 'function("foo")' aufgerufen.

AENDERUNGEN
        Eingefuehrt in LDMud 3.2.7.
        LDMud 3.3.563 fuehrte LIMIT_COST ein.

SIEHE AUCH
        query_limits(E), set_limits(E)