Author: bpetri
Date: Thu Dec 11 06:06:34 2014
New Revision: 1644560

URL: http://svn.apache.org/r1644560
Log:
CELIX-190: added clean-up for left-over importInterests

Modified:
    celix/trunk/remote_services/topology_manager/private/src/topology_manager.c

Modified: 
celix/trunk/remote_services/topology_manager/private/src/topology_manager.c
URL: 
http://svn.apache.org/viewvc/celix/trunk/remote_services/topology_manager/private/src/topology_manager.c?rev=1644560&r1=1644559&r2=1644560&view=diff
==============================================================================
--- celix/trunk/remote_services/topology_manager/private/src/topology_manager.c 
(original)
+++ celix/trunk/remote_services/topology_manager/private/src/topology_manager.c 
Thu Dec 11 06:06:34 2014
@@ -113,6 +113,20 @@ celix_status_t topologyManager_destroy(t
 
        status = celixThreadMutex_lock(&manager->importInterestsLock);
 
+       hash_map_iterator_pt iterator = 
hashMapIterator_create(manager->importInterests);
+
+       while (hashMapIterator_hasNext(iterator)) {
+               hash_map_entry_pt entry = hashMapIterator_nextEntry(iterator);
+               char* key = (char*) hashMapEntry_getKey(entry);
+               struct import_interest *interest = 
hashMap_remove(manager->importInterests, key);
+
+               free(key);
+               free(interest);
+
+               hashMapIterator_destroy(iterator);
+               iterator = hashMapIterator_create(manager->importInterests);
+       }
+       hashMapIterator_destroy(iterator);
        hashMap_destroy(manager->importInterests, false, false);
 
        status = celixThreadMutex_unlock(&manager->importInterestsLock);


Reply via email to