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 2018/01/30 19:18:58 UTC
[02/50] [abbrv] celix git commit: Fixed some Coverity issues
Fixed some Coverity issues
Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/64491416
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/64491416
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/64491416
Branch: refs/heads/master
Commit: 64491416f2b9ea92fb22115aaae31a6649f7f61c
Parents: 33644af
Author: gricciardi <gr...@apache.org>
Authored: Tue Oct 3 16:19:29 2017 +0200
Committer: gricciardi <gr...@apache.org>
Committed: Tue Oct 3 16:19:29 2017 +0200
----------------------------------------------------------------------
.../private/src/pubsub_admin_impl.c | 11 +++++------
.../pubsub_admin_zmq/private/src/pubsub_admin_impl.c | 13 ++++++-------
2 files changed, 11 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/celix/blob/64491416/pubsub/pubsub_admin_udp_mc/private/src/pubsub_admin_impl.c
----------------------------------------------------------------------
diff --git a/pubsub/pubsub_admin_udp_mc/private/src/pubsub_admin_impl.c b/pubsub/pubsub_admin_udp_mc/private/src/pubsub_admin_impl.c
index a582c22..1fbdb08 100644
--- a/pubsub/pubsub_admin_udp_mc/private/src/pubsub_admin_impl.c
+++ b/pubsub/pubsub_admin_udp_mc/private/src/pubsub_admin_impl.c
@@ -386,6 +386,7 @@ celix_status_t pubsubAdmin_addSubscription(pubsub_admin_pt admin,pubsub_endpoint
}
/* Check if we already know some publisher about this topic, otherwise let's put the subscription in the pending hashmap */
+ celixThreadMutex_lock(&admin->pendingSubscriptionsLock);
celixThreadMutex_lock(&admin->subscriptionsLock);
celixThreadMutex_lock(&admin->localPublicationsLock);
celixThreadMutex_lock(&admin->externalPublicationsLock);
@@ -396,9 +397,7 @@ celix_status_t pubsubAdmin_addSubscription(pubsub_admin_pt admin,pubsub_endpoint
array_list_pt ext_pub_list = (array_list_pt)hashMap_get(admin->externalPublications,scope_topic);
if(factory==NULL && ext_pub_list==NULL){ //No (local or external) publishers yet for this topic
- celixThreadMutex_lock(&admin->pendingSubscriptionsLock);
pubsubAdmin_addSubscriptionToPendingList(admin,subEP);
- celixThreadMutex_unlock(&admin->pendingSubscriptionsLock);
}
else{
int i;
@@ -468,6 +467,7 @@ celix_status_t pubsubAdmin_addSubscription(pubsub_admin_pt admin,pubsub_endpoint
celixThreadMutex_unlock(&admin->externalPublicationsLock);
celixThreadMutex_unlock(&admin->localPublicationsLock);
celixThreadMutex_unlock(&admin->subscriptionsLock);
+ celixThreadMutex_unlock(&admin->pendingSubscriptionsLock);
return status;
@@ -871,9 +871,11 @@ celix_status_t pubsubAdmin_serializerRemoved(void * handle, service_reference_pt
celixThreadMutex_unlock(&admin->serializerListLock);
celixThreadMutex_lock(&admin->usedSerializersLock);
+ array_list_pt topicPubList = (array_list_pt)hashMap_remove(admin->topicPublicationsPerSerializer, service);
+ array_list_pt topicSubList = (array_list_pt)hashMap_remove(admin->topicSubscriptionsPerSerializer, service);
+ celixThreadMutex_unlock(&admin->usedSerializersLock);
/* Now destroy the topicPublications, but first put back the pubsub_endpoints back to the noSerializer pending list */
- array_list_pt topicPubList = (array_list_pt)hashMap_remove(admin->topicPublicationsPerSerializer, service);
if(topicPubList!=NULL){
for(i=0;i<arrayList_size(topicPubList);i++){
topic_publication_pt topicPub = (topic_publication_pt)arrayList_get(topicPubList,i);
@@ -926,7 +928,6 @@ celix_status_t pubsubAdmin_serializerRemoved(void * handle, service_reference_pt
}
/* Now destroy the topicSubscriptions, but first put back the pubsub_endpoints back to the noSerializer pending list */
- array_list_pt topicSubList = (array_list_pt)hashMap_remove(admin->topicSubscriptionsPerSerializer, service);
if(topicSubList!=NULL){
for(i=0;i<arrayList_size(topicSubList);i++){
topic_subscription_pt topicSub = (topic_subscription_pt)arrayList_get(topicSubList,i);
@@ -974,8 +975,6 @@ celix_status_t pubsubAdmin_serializerRemoved(void * handle, service_reference_pt
arrayList_destroy(topicSubList);
}
- celixThreadMutex_unlock(&admin->usedSerializersLock);
-
printf("PSA_UDP_MC: %s serializer removed\n",serType);
http://git-wip-us.apache.org/repos/asf/celix/blob/64491416/pubsub/pubsub_admin_zmq/private/src/pubsub_admin_impl.c
----------------------------------------------------------------------
diff --git a/pubsub/pubsub_admin_zmq/private/src/pubsub_admin_impl.c b/pubsub/pubsub_admin_zmq/private/src/pubsub_admin_impl.c
index db3b762..29ead0c 100644
--- a/pubsub/pubsub_admin_zmq/private/src/pubsub_admin_impl.c
+++ b/pubsub/pubsub_admin_zmq/private/src/pubsub_admin_impl.c
@@ -387,6 +387,7 @@ celix_status_t pubsubAdmin_addSubscription(pubsub_admin_pt admin,pubsub_endpoint
}
/* Check if we already know some publisher about this topic, otherwise let's put the subscription in the pending hashmap */
+ celixThreadMutex_lock(&admin->pendingSubscriptionsLock);
celixThreadMutex_lock(&admin->subscriptionsLock);
celixThreadMutex_lock(&admin->localPublicationsLock);
celixThreadMutex_lock(&admin->externalPublicationsLock);
@@ -397,9 +398,7 @@ celix_status_t pubsubAdmin_addSubscription(pubsub_admin_pt admin,pubsub_endpoint
array_list_pt ext_pub_list = (array_list_pt)hashMap_get(admin->externalPublications,scope_topic);
if(factory==NULL && ext_pub_list==NULL){ //No (local or external) publishers yet for this topic
- celixThreadMutex_lock(&admin->pendingSubscriptionsLock);
pubsubAdmin_addSubscriptionToPendingList(admin,subEP);
- celixThreadMutex_unlock(&admin->pendingSubscriptionsLock);
}
else{
int i;
@@ -469,6 +468,7 @@ celix_status_t pubsubAdmin_addSubscription(pubsub_admin_pt admin,pubsub_endpoint
celixThreadMutex_unlock(&admin->externalPublicationsLock);
celixThreadMutex_unlock(&admin->localPublicationsLock);
celixThreadMutex_unlock(&admin->subscriptionsLock);
+ celixThreadMutex_unlock(&admin->pendingSubscriptionsLock);
return status;
@@ -648,8 +648,6 @@ celix_status_t pubsubAdmin_removePublication(pubsub_admin_pt admin,pubsub_endpoi
}
celixThreadMutex_unlock(&admin->noSerializerPendingsLock);
}
-
-
}
else{
@@ -872,9 +870,11 @@ celix_status_t pubsubAdmin_serializerRemoved(void * handle, service_reference_pt
celixThreadMutex_lock(&admin->usedSerializersLock);
+ array_list_pt topicPubList = (array_list_pt)hashMap_remove(admin->topicPublicationsPerSerializer, service);
+ array_list_pt topicSubList = (array_list_pt)hashMap_remove(admin->topicSubscriptionsPerSerializer, service);
+ celixThreadMutex_unlock(&admin->usedSerializersLock);
/* Now destroy the topicPublications, but first put back the pubsub_endpoints back to the noSerializer pending list */
- array_list_pt topicPubList = (array_list_pt)hashMap_remove(admin->topicPublicationsPerSerializer, service);
if(topicPubList!=NULL){
for(i=0;i<arrayList_size(topicPubList);i++){
topic_publication_pt topicPub = (topic_publication_pt)arrayList_get(topicPubList,i);
@@ -927,7 +927,6 @@ celix_status_t pubsubAdmin_serializerRemoved(void * handle, service_reference_pt
}
/* Now destroy the topicSubscriptions, but first put back the pubsub_endpoints back to the noSerializer pending list */
- array_list_pt topicSubList = (array_list_pt)hashMap_remove(admin->topicSubscriptionsPerSerializer, service);
if(topicSubList!=NULL){
for(i=0;i<arrayList_size(topicSubList);i++){
topic_subscription_pt topicSub = (topic_subscription_pt)arrayList_get(topicSubList,i);
@@ -975,7 +974,7 @@ celix_status_t pubsubAdmin_serializerRemoved(void * handle, service_reference_pt
arrayList_destroy(topicSubList);
}
- celixThreadMutex_unlock(&admin->usedSerializersLock);
+
printf("PSA_ZMQ: %s serializer removed\n",serType);