Issue 1161: Etherialization when destroying trees of POAs (port-rtf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: Summary: There is not (as far as I can see from the spec) any guarantee of the order of events when a hierarchy of POAs is destroyed. Because ServantActivators are themselves activated in some POA, there is no guarantee that when etherialization is performed for one POA that the servant activator itself won"t already have been deactivated. Resolution: Revised Text: Actions taken: April 20, 1998: received issue June 25, 1998: closed issue Discussion: clarified/fixed End of Annotations:===== Return-Path: Date: Mon, 20 Apr 1998 10:00:55 -0400 From: Paul H Kyzivat Organization: NobleNet To: issues@omg.org CC: Jonathan Biggar , Steve Vinoski , port-rtf@omg.org Subject: Etherialization when destroying trees of POAs References: <353056FC.B2CD1D27@floorboard.com> <3530EAB4.F88275B0@noblenet.com> <35317D85.6CFD713C@floorboard.com> <353363D5.9AFBEDE6@noblenet.com> <3533AEB2.59202CA@floorboard.com> There is not (as far as I can see from the spec) any guarantee of the order of events when a hierarchy of POAs is destroyed. Because ServantActivators are themselves activated in some POA, there is no guarantee that when etherialization is performed for one POA that the servant activator itself won't already have been deactivated. Some cases are probably best left unspecified, such as when the servant activator resides in the same POA it is set on, or in a subordinate POA, or in a POA not on the direct path from the POA it is on to the root. But when POA A is parent of POA B, and B has a servant activator that is itself activated in A, then when A is destroyed it should be possible to guarantee that the implied destruction of B includes successful calls to etherialize B's active objects, before A's destruction makes that impossible. Return-Path: Sender: jon@floorboard.com Date: Mon, 20 Apr 1998 12:05:17 -0700 From: Jonathan Biggar To: Paul H Kyzivat CC: issues@omg.org, Steve Vinoski , port-rtf@omg.org Subject: Re: Etherialization when destroying trees of POAs References: <353056FC.B2CD1D27@floorboard.com> <3530EAB4.F88275B0@noblenet.com> <35317D85.6CFD713C@floorboard.com> <353363D5.9AFBEDE6@noblenet.com> <3533AEB2.59202CA@floorboard.com> <353B5517.C2D6D899@noblenet.com> Paul H Kyzivat wrote: > > There is not (as far as I can see from the spec) any guarantee of > the order of events when a hierarchy of POAs is destroyed. Because > ServantActivators are themselves activated in some POA, there is no > guarantee that when etherialization is performed for one POA that > the > servant activator itself won't already have been deactivated. > > Some cases are probably best left unspecified, such as when the > servant > activator resides in the same POA it is set on, or in a subordinate > POA, > or in a POA not on the direct path from the POA it is on to the > root. > > But when POA A is parent of POA B, and B has a servant activator > that is > itself activated in A, then when A is destroyed it should be > possible to > guarantee that the implied destruction of B includes successful > calls to > etherialize B's active objects, before A's destruction makes that > impossible. This seems right. The spec should guarantee that that when you call POA::destroy(), that all child POAs are destroyed first, and that servants of the POA are still functional during the time the child POAs are being destroyed. -- Jon Biggar Floorboard Software jon@floorboard.com jon@biggar.org Issue 1161: Etherialization when destroying trees of POAs. There is not (as far as I can see from the spec) any guarantee of the order of events when a hierarchy of POAs is destroyed. Because ServantActivators are themselves activated in some POA, there is no guarantee that when etherialization is performed for one POA that the servant activator itself won't already have been deactivated. Resolution: Clarification Resolution: Changed for CORBA 2.3 RTF. Revision: Page 9-31, Section 9.3.8 "POA Interface", subsection "destroy". Add after the first sentence: "Descendent POAs are destroyed (recursively) before the destruction of the containing POA."