SYNOPSIS
void garbage_collection()
void garbage_collection(string filename)
void garbage_collection(string filename, int flag)
DESCRIPTION
Tell the parser to initiate a garbage collection after the
current execution ended. Depending on the type of memory
allocator used, this GC is more less thorough.
If the 'smalloc' memory allocator is used, the GC produces
output to a log file. The default name of the log file is
specified at program start, but can be modified at runtime:
With the <filename> argument a log file for the GC output
different from the default log file can be specified.
If <flag> is not given or 0, the output from the next
and only the next GC will go into the log file. If the file
already exists, the new output will be appended.
If <flag> is 1, the <filename> will be used as the new
default log file for all following GCs. If the file already
exists, it will be overwritten from the start.
If a different memory allocator is used, the GC does not produce
output and the <filename> and <flag> arguments are ignored.
Calling this efun causes a privilege_violation.
EXAMPLES
garbage_collection()
[ GC occurs -> logs into default file ]
garbage_collection("/GCLOG")
[ GC occurs -> logs into "/GCLOG" ]
garbage_collection("/GCLOG", 1)
[ GC occurs -> logs into "/GCLOG", sets default log to "/GCLOG" ]
garbage_collection("/GCLOG")
garbage_collection("/GCLOG2")
[ GC occurs -> logs into "/GCLOG" ]
garbage_collection("/GCLOG", 1)
garbage_collection("/GCLOG2")
[ GC occurs -> logs into "/GCLOG2", sets default log to "/GCLOG" ]
HISTORY
LDMud 3.2.9 added the <filename> argument.
LDMud 3.3.209 added the <flag> argument.
LDMUd 3.5.0 made the efun privileged.
SEE ALSO
rusage(E), valid_write(M), privilege_violation(M)
|