Please report new issues athttps://github.com/DOCGroup
We can obtain the ORBInitializer registry throug the ORB or through PortableInterceptor::register_orb_initializer. When going through the ORB the orb lock is hold during the loading of the PI library, when going through the register_orb_initializer the static object lock is hold. This could lead to a double load, the ORB should also do a double checked locking on the static lock to my idea. Any other ideas? In the ORB: ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, mon, this->lock_, 0); In PI: ACE_MT (ACE_GUARD (TAO_SYNCH_RECURSIVE_MUTEX, guard, *ACE_Static_Object_Lock::instance ()));
invalid, not the registry is locked