You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by pn...@apache.org on 2016/01/25 19:01:50 UTC

[34/51] celix git commit: CELIX-77: fixed memory leak, added missing ungetService

CELIX-77: fixed memory leak, added missing ungetService


Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/7d10d6e9
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/7d10d6e9
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/7d10d6e9

Branch: refs/heads/feature/CELIX-335_deploy_refactoring
Commit: 7d10d6e97ac9b911b1fb1e9d26a116cfd3695a04
Parents: 5834d63
Author: Bjoern Petri <bp...@apache.org>
Authored: Fri Jan 15 08:14:17 2016 +0100
Committer: Bjoern Petri <bp...@apache.org>
Committed: Fri Jan 15 08:14:17 2016 +0100

----------------------------------------------------------------------
 config_admin/config_admin_tst/config_admin_test.cpp        | 4 ++++
 config_admin/service/private/src/managed_service_tracker.c | 4 ++++
 2 files changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/celix/blob/7d10d6e9/config_admin/config_admin_tst/config_admin_test.cpp
----------------------------------------------------------------------
diff --git a/config_admin/config_admin_tst/config_admin_test.cpp b/config_admin/config_admin_tst/config_admin_test.cpp
index acb6359..f75cc3a 100644
--- a/config_admin/config_admin_tst/config_admin_test.cpp
+++ b/config_admin/config_admin_tst/config_admin_test.cpp
@@ -94,6 +94,10 @@ tst2_service_pt test2Serv = NULL;
 		rc = bundleContext_ungetService(context, testRef, NULL);
         CHECK_EQUAL(CELIX_SUCCESS, rc);
 
+        // check whether this is necessary
+        rc = bundleContext_ungetService(context, testRef, NULL);
+        CHECK_EQUAL(CELIX_SUCCESS, rc);
+
         rc = bundleContext_ungetServiceReference(context, testRef);
         CHECK_EQUAL(CELIX_SUCCESS, rc);
 

http://git-wip-us.apache.org/repos/asf/celix/blob/7d10d6e9/config_admin/service/private/src/managed_service_tracker.c
----------------------------------------------------------------------
diff --git a/config_admin/service/private/src/managed_service_tracker.c b/config_admin/service/private/src/managed_service_tracker.c
index 642f1aa..e723f29 100644
--- a/config_admin/service/private/src/managed_service_tracker.c
+++ b/config_admin/service/private/src/managed_service_tracker.c
@@ -182,6 +182,10 @@ celix_status_t managedServiceTracker_destroy(bundle_context_pt context, managed_
 	updatedThreadPool_destroy(mgServTr->updatedThreadPool);
 	celixThreadMutex_destroy(&mgServTr->managedServicesReferencesMutex);
 	serviceTracker_destroy(tracker);
+
+	hashMap_destroy(mgServTr->managedServices, true, true);
+	hashMap_destroy(mgServTr->managedServicesReferences, true, true);
+
     free(mgServTr);
 
 	return CELIX_SUCCESS;