Module Manager

The Module Manager is tasked with loading and unloading modules as well as managing the plug-in message processing.

When a module is successfully loaded, it registers one or more plug-ins. The Module Manager creates a new thread for each of these plug-ins. Then the initialization message to the plug-in is sent and the message dispatch loop is started in this new thread. Having each plug-in in a separate thread prevents one plug-in from "hanging" other plug-ins and the user interface.

For compatibility with future versions of Network Identity Manager, a plug-in should not depend on the fact that it is running in its own thread.
Read more :

Module Load Sequence

When kmm_load_module() is called to load a specific module, the following sequence of events occur:

During normal operation, any registered plug-ins for a module can be unloaded explicitly, or the plug-in itself may signal that it should be unloaded. If at anytime, all the plug-ins for the module are unloaded, then the module itself is also unloaded unless the NoUnload registry value is set in the module key.

Unload sequence

The following diagram illustrates the relationship between modules and plug-ins as implemented in the Kerberos 5 plug-in distributed with Network Identity Manager.


Generated on Fri Aug 3 08:27:13 2007 for Network Identity Manager by Doxygen 1.5.2
© 2004-2007 Massachusetts Institute of Technology.
© 2005-2007 Secure Endpoints Inc.