GESCHUETZT
SYNOPSIS
        void garbage_collection()
        void garbage_collection(string filename)

BESCHREIBUNG
        Befiehlt dem Treiber, nach Ende der aktuellen Ausfuehrung eine
        Garbage Collection zu beginnen. Je nachdem, welcher Memory Allocator
        verwendet wird, ist die Garbage Collection mehr oder weniger
        gruendlich.

        Wird der smalloc Memory Allocator verwendet, erzeugt GC einen Output
        in einem Logfile. Der Standardname fuer das Logfile wird beim
        Programmstart festgelegt, kann aber zur Laufzeit veraendert werden,
        wenn das Argument <filename> angegeben ist. Der Log-Output wird in
        diesem Fall an das bezeichnete Logfile angefuegt.

        Fuer andere Memory Allocators erzeugt garbage_collection() keinen
        Output. Ein allfaelliges Argument <filename> wird ignoriert.

        Diese efun verursacht den Aufruf von privilege_violation().

GESCHICHTE
        LDMud 3.2.9 fuehrte das Argument <filename> ein.
        LDMud 3.3.209 fuehrte das Argument <flag> ein.
        LDMud 3.5.0 machte die efun privilegiert.

SIEHE AUCH
        rusage(E), valid_write(M), privilege_violation(M)
