Author: tross
Date: Tue Jun  3 08:53:48 2008
New Revision: 662830

URL: http://svn.apache.org/viewvc?rev=662830&view=rev
Log:
Management fixes: set session.detachedLifetime to 0, set journal->queue link in 
all cases

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp?rev=662830&r1=662829&r2=662830&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp Tue Jun  3 08:53:48 
2008
@@ -578,11 +578,17 @@
 }
 
 void Queue::setPersistenceId(uint64_t _persistenceId) const
-{ 
-    if (mgmtObject != 0 && persistenceId == 0)
+{
+    if (mgmtObject.get() != 0 && persistenceId == 0)
     {
         ManagementAgent::shared_ptr agent = ManagementAgent::getAgent ();
         agent->addObject (mgmtObject, _persistenceId, 3);
+
+        if (externalQueueStore) {
+            ManagementObject::shared_ptr childObj = 
externalQueueStore->GetManagementObject();
+            if (childObj.get() != 0)
+                childObj->setReference(mgmtObject->getObjectId());
+        }
     }
     persistenceId = _persistenceId;
 }
@@ -669,7 +675,7 @@
 
     if (inst) {
         ManagementObject::shared_ptr childObj = inst->GetManagementObject();
-        if (childObj.get() != 0)
+        if (childObj.get() != 0 && mgmtObject.get() != 0)
             childObj->setReference(mgmtObject->getObjectId());
     }
 }

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp?rev=662830&r1=662829&r2=662830&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp Tue Jun  3 
08:53:48 2008
@@ -62,6 +62,7 @@
             mgmtObject = management::Session::shared_ptr
                 (new management::Session (this, parent, getId().getName()));
             mgmtObject->set_attached (0);
+            mgmtObject->set_detachedLifespan (0);
             agent->addObject (mgmtObject);
         }
     }


Reply via email to