Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
rt.minfo
Written in the D programming language.
Module initialization routines.
License:
Distributed under the
Boost Software License 1.0.
(See accompanying file LICENSE)
Authors:
Walter Bright, Sean Kelly
Source rt/minfo.d
- struct
ModuleGroup
; - A ModuleGroup is an unordered collection of modules. There is exactly one for:
- all statically linked in D modules, either directely or as shared libraries
- each call to rt_loadLibrary()
- void
sortCtors
(stringcycleHandling
);
voidsortCtors
(); - Allocate and fill in ctors[] and tlsctors[]. Modules are inserted into the arrays in the order in which the constructors need to be run.Parameters:Throws:Exception if it fails.
- bool
sortCtorsOld
(int[][]edges
); - This is the old ctor sorting algorithm that does not find all cycles.It is here to allow the deprecated behavior from the original algorithm until people have fixed their code. If no cycles are found, the ctors and tlsctors are replaced with the ones generated by this algorithm to preserve the old incorrect ordering behavior.Parameters:
int[][] edges
The module edges as found in the importedModules member of each ModuleInfo. Generated in sortCtors. Returns:true if no cycle is found, false if one was.
- int
moduleinfos_apply
(scope int delegate(immutable(ModuleInfo*))dg
); - Iterate over all module infos.
- void
rt_moduleCtor
(); - Module constructor and destructor routines.
- void
rt_moduleTlsCtor
(); - Module constructor and destructor routines.
- void
rt_moduleTlsDtor
(); - Module constructor and destructor routines.
- void
rt_moduleDtor
(); - Module constructor and destructor routines.
- void
runModuleFuncs
(alias getfp)(const(immutable(ModuleInfo)*)[]modules
);
Copyright © 1999-2022 by the D Language Foundation | Page generated by
Ddoc on (no date time)