BUG#: 8723
authorvenkat.puvvada <venkat.puvvada>
Thu, 11 Feb 2010 12:30:17 +0000 (12:30 +0000)
committervenkat.puvvada <venkat.puvvada>
Thu, 11 Feb 2010 12:30:17 +0000 (12:30 +0000)
TITLE: indication provider is not removed from IndProvTab when disabled
DESCRIPTION: Remove provider from IndProvTab when provider is disabled.

src/Pegasus/ProviderManager2/CMPI/CMPIProviderManager.cpp

index 98ee207bc4e1807d8c68475a37e192e2d9f0f91e..ac6d6e8a415747c5e0d3f0269b6285fca4fe915f 100644 (file)
@@ -2539,6 +2539,13 @@ Message * CMPIProviderManager::handleDisableModuleRequest(
                             providerName,
                             moduleName);
                     ph.GetProvider ().resetSubscriptions ();
+
+                    // Remove from IndProvRecord table
+                    IndProvRecord *rec = 0;
+                    WriteLock lock(rwSemProvTab);
+                    indProvTab.lookup(ph.GetProvider().getName(), rec);
+                    delete rec;
+                    indProvTab.remove(ph.GetProvider().getName());
                 }
                 catch (const Exception &e)
                 {