At present, any OnEvent handler which attempts to register or unregister a Listener (or an Event Thread, an Event PreProcessor etc) will initiate a Deadlock. This can be avoided by simply checking if the Lock can be acquired, and if it cannot, placing the registration/unregistration instruction into a "Failover list" (a simple miniature Event Queue internal to the TLKEventContainer system itself) to be processed AFTER the OnEvent handler has completed.
At present, any OnEvent handler which attempts to register or unregister a Listener (or an Event Thread, an Event PreProcessor etc) will initiate a Deadlock. This can be avoided by simply checking if the Lock can be acquired, and if it cannot, placing the registration/unregistration instruction into a "Failover list" (a simple miniature Event Queue internal to the TLKEventContainer system itself) to be processed AFTER the OnEvent handler has completed.