Bug 323

Summary: clarify/implement correct lifecycle management for Policy objects (i.e., destroy method)
Product: TAO Reporter: Marina Spivak <marina>
Component: ORBAssignee: DOC Center Support List (internal) <tao-support>
Status: CLOSED FIXED    
Severity: normal    
Priority: P2    
Version: 1.0.3   
Hardware: All   
OS: All   

Description Marina Spivak 1999-09-10 14:10:59 CDT
Need to clarify from the OMG/one of the CORBA spec experts the semantics/use of
the CORBA::Policy::destroy method.  In particular, whether the user/app.
developer is allowed to call <destroy> method on policies returned to him from
CORBA::PolicyManger::get_overrides method.  This is important for the correct
implementation of TAO_Policy_Manager_Impl, which keeps track of all set
policies.
In the current implementation of TAO_Policy_Manager_Impl, if destroy method is
invoked on one of the policies it stores in the Policy list, any consequent
operation on TAO_Policy_Manager_Impl, involving the deleted policies would
result in a seg-fault (because policies have direct collocation scheme).
Again, we need to find out what the correct semantics is in terms of users
invoking <destroy> on policies in the PolicyManager, and try, if possible, to
throw exception/provide error message if the user performs any illegal
operation, rather than segfaulting at a later point.
Comment 1 Ossama Othman 1999-09-19 14:34:59 CDT
Accepted.
Comment 2 Marina Spivak 2000-12-03 23:08:14 CST
All the policies are now local objects with reference counting, and destroy 
method is a no-op, so with the new scheme the original problem is moot.  Not a 
bug.
Comment 3 Marina Spivak 2000-12-03 23:08:57 CST
Closing.