osaf/services/saf/immsv/immnd/ImmModel.cc | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
Changes to the server code for immsv done in relation to adding support
for 2PBE in OpenSAF 4.4, broke the logic that generates callbacks to
special appliers for PRTO deletes. The problem exists with 0PBE, 1PBE or 2PBE.
This changeset fixes the problem so the special applier callbacks
for PRTO deletes are now sent.
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
@@ -13305,6 +13305,12 @@ SaInt32T ImmModel::pbePrtObjDeletesConti
TRACE("1PBE or 2PBE with error or 2PBE where both PBEs have replied.");
nrofDeletes=0;
+
+ /* Lookup special applier */
+ ImplementerInfo* spImpl = getSpecialApplier();
+ if(spImpl && spImpl->mConn) {
+ (*spApplConnPtr) = spImpl->mConn;
+ }
for(i2 = sPbeRtMutations.begin();i2!=sPbeRtMutations.end(); ) {
if(i2->second->mContinuationId != invocation) {
@@ -13400,12 +13406,9 @@ SaInt32T ImmModel::pbePrtObjDeletesConti
sPbeRtReqContinuationMap.erase(ci);
}
- /* Lookup special applier */
- if(!objNameVector.empty()) {
- ImplementerInfo* spImpl = getSpecialApplier();
- if(spImpl && spImpl->mConn) {
- (*spApplConnPtr) = spImpl->mConn;
- }
+ /* If no notifications then reset spApplConnPtr to zero */
+ if((*spApplConnPtr) && objNameVector.empty()) {
+ (*spApplConnPtr) = 0;
}
TRACE_LEAVE();
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel