You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by ab...@apache.org on 2011/05/30 12:17:25 UTC
svn commit: r1129111 - in /incubator/celix/trunk: celix Default.launch
framework/private/include/service_registry.h
framework/private/src/framework.c framework/private/src/service_registry.c
Author: abroekhuis
Date: Mon May 30 10:17:24 2011
New Revision: 1129111
URL: http://svn.apache.org/viewvc?rev=1129111&view=rev
Log:
Added destroy to the service registry
Modified:
incubator/celix/trunk/celix Default.launch
incubator/celix/trunk/framework/private/include/service_registry.h
incubator/celix/trunk/framework/private/src/framework.c
incubator/celix/trunk/framework/private/src/service_registry.c
Modified: incubator/celix/trunk/celix Default.launch
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/celix%20Default.launch?rev=1129111&r1=1129110&r2=1129111&view=diff
==============================================================================
--- incubator/celix/trunk/celix Default.launch (original)
+++ incubator/celix/trunk/celix Default.launch Mon May 30 10:17:24 2011
@@ -61,7 +61,7 @@
<intAttribute key="org.eclipse.linuxtools.valgrind.memcheck.MEMCHECK_FREELIST" value="10000000"/>
<booleanAttribute key="org.eclipse.linuxtools.valgrind.memcheck.MEMCHECK_GCCWORK" value="false"/>
<booleanAttribute key="org.eclipse.linuxtools.valgrind.memcheck.MEMCHECK_LEAKCHECK" value="true"/>
-<stringAttribute key="org.eclipse.linuxtools.valgrind.memcheck.MEMCHECK_LEAKRES" value="low"/>
+<stringAttribute key="org.eclipse.linuxtools.valgrind.memcheck.MEMCHECK_LEAKRES" value="high"/>
<booleanAttribute key="org.eclipse.linuxtools.valgrind.memcheck.MEMCHECK_PARTIAL" value="false"/>
<booleanAttribute key="org.eclipse.linuxtools.valgrind.memcheck.MEMCHECK_SHOWREACH" value="false"/>
<booleanAttribute key="org.eclipse.linuxtools.valgrind.memcheck.MEMCHECK_TRACKORIGINS" value="false"/>
Modified: incubator/celix/trunk/framework/private/include/service_registry.h
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/include/service_registry.h?rev=1129111&r1=1129110&r2=1129111&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/include/service_registry.h (original)
+++ incubator/celix/trunk/framework/private/include/service_registry.h Mon May 30 10:17:24 2011
@@ -33,6 +33,7 @@
#include "filter.h"
SERVICE_REGISTRY serviceRegistry_create(FRAMEWORK framework, void (*serviceChanged)(FRAMEWORK, SERVICE_EVENT, PROPERTIES));
+celix_status_t serviceRegistry_destroy(SERVICE_REGISTRY registry);
ARRAY_LIST serviceRegistry_getRegisteredServices(SERVICE_REGISTRY registry, BUNDLE bundle);
SERVICE_REGISTRATION serviceRegistry_registerService(SERVICE_REGISTRY registry, BUNDLE bundle, char * serviceName, void * serviceObject, PROPERTIES dictionary);
void serviceRegistry_unregisterService(SERVICE_REGISTRY registry, BUNDLE bundle, SERVICE_REGISTRATION registration);
Modified: incubator/celix/trunk/framework/private/src/framework.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/framework.c?rev=1129111&r1=1129110&r2=1129111&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/framework.c (original)
+++ incubator/celix/trunk/framework/private/src/framework.c Mon May 30 10:17:24 2011
@@ -182,6 +182,9 @@ celix_status_t framework_destroy(FRAMEWO
}
hashMapIterator_destroy(iterator);
+ hashMap_destroy(framework->installRequestMap, false, false);
+
+ serviceRegistry_destroy(framework->registry);
apr_pool_destroy(framework->mp);
Modified: incubator/celix/trunk/framework/private/src/service_registry.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/service_registry.c?rev=1129111&r1=1129110&r2=1129111&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/service_registry.c (original)
+++ incubator/celix/trunk/framework/private/src/service_registry.c Mon May 30 10:17:24 2011
@@ -100,6 +100,16 @@ SERVICE_REGISTRY serviceRegistry_create(
return registry;
}
+celix_status_t serviceRegistry_destroy(SERVICE_REGISTRY registry) {
+ hashMap_destroy(registry->inUseMap, false, false);
+ hashMap_destroy(registry->serviceRegistrations, false, false);
+ pthread_mutex_destroy(®istry->mutex);
+
+ free(registry);
+
+ return CELIX_SUCCESS;
+}
+
ARRAY_LIST serviceRegistry_getRegisteredServices(SERVICE_REGISTRY registry, BUNDLE bundle) {
ARRAY_LIST regs = (ARRAY_LIST) hashMap_get(registry->serviceRegistrations, bundle);
if (regs != NULL) {