Check out the new USENIX Web site. next up previous
Next: Considerations Up: DITOOLS Previous: Dynamic adaptation facilities

Process management facilities

Startup: When extension modules are loaded, DITOOLS allows them to initialize before being invoked by the process. This can be used to allocate data structures or to set-up some bindings dynamically.

Cleanup: At the end of execution (for instance, when the process exits or execs another binary), DITOOLS gives a chance for doing cleanup work within extension modules (e.g. write data structures to disk, close any private handle or free other allocated resources). During extension cleanup, the DI runtime shuts down rebindings and redefinitions in order to guarantee that extensions do not indirectly trigger themselves.

Image changes: Actions that cause image changes (e.g. dynamic-loading requests) are captured by the DI runtime in order to preserve the behavior expected by extension modules. For example, DITOOLS checks that new modules do not affect existing rebindings.

Fork: A default behavior that can be deactivated if required is that forked processes inherit the DI runtime, as well as rebindings and redefinitions existing in the forking process.



Albert Serra, DITools, 2000 USENIX Annual Technical Conference
Tue Apr 25 13:07:07 MET DST 2000