osaf/services/saf/immsv/immnd/ImmModel.cc |  1 +
 1 files changed, 1 insertions(+), 0 deletions(-)


At the time of OIfinalizing of the OI handle, An FEVS message is sent to clear 
the implementer. A FEVs message is sent from local IMMND to active IMMD and 
active IMMD broadcast the message to all IMMND. Before the broadcast FEVS 
message arrived from IMMD, the AMFD tries to set the implementer again with the 
same name and ERR_EXISTS is returned.

if the implementer is not yet discarded and marked as not-dying (this is 
because the implementer set is arrived before clearing it in IMMNDs,) then 
TRY_AGAIN will be returned.

diff --git a/osaf/services/saf/immsv/immnd/ImmModel.cc 
b/osaf/services/saf/immsv/immnd/ImmModel.cc
--- a/osaf/services/saf/immsv/immnd/ImmModel.cc
+++ b/osaf/services/saf/immsv/immnd/ImmModel.cc
@@ -1508,6 +1508,7 @@ immModel_implIsFree(IMMND_CB *cb, const 
     if(!impl) {return SA_AIS_OK;}
 
     if(impl->mId == 0) {return SA_AIS_OK;}
+    if(impl->mId && !impl->mDying) {return SA_AIS_ERR_TRY_AGAIN;}
 
     return SA_AIS_ERR_EXIST;
 }

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to