You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by bp...@apache.org on 2016/01/13 10:09:51 UTC
celix git commit: CELIX-340: fix locking
Repository: celix
Updated Branches:
refs/heads/develop acbfe389b -> 3605d26ac
CELIX-340: fix locking
Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/3605d26a
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/3605d26a
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/3605d26a
Branch: refs/heads/develop
Commit: 3605d26ac1bb6da2ed467329a3ad01c60cd1cfd5
Parents: acbfe38
Author: Bjoern Petri <bp...@apache.org>
Authored: Wed Jan 13 10:09:28 2016 +0100
Committer: Bjoern Petri <bp...@apache.org>
Committed: Wed Jan 13 10:09:28 2016 +0100
----------------------------------------------------------------------
.../discovery_etcd/private/src/etcd.c | 3 +-
.../discovery_etcd/private/src/etcd_watcher.c | 43 +++++++++-----------
2 files changed, 21 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/celix/blob/3605d26a/remote_services/discovery_etcd/private/src/etcd.c
----------------------------------------------------------------------
diff --git a/remote_services/discovery_etcd/private/src/etcd.c b/remote_services/discovery_etcd/private/src/etcd.c
index a68dc77..ed06fb7 100644
--- a/remote_services/discovery_etcd/private/src/etcd.c
+++ b/remote_services/discovery_etcd/private/src/etcd.c
@@ -183,11 +183,10 @@ bool etcd_getNodes(char* directory, char** nodeNames, int* size) {
if (js_root != NULL) {
js_node = json_object_get(js_root, ETCD_JSON_NODE);
}
- if (js_root != NULL) {
+ if (js_node != NULL) {
js_nodes = json_object_get(js_node, ETCD_JSON_NODES);
}
-
if (js_nodes != NULL && json_is_array(js_nodes)) {
int i = 0;
retVal = true;
http://git-wip-us.apache.org/repos/asf/celix/blob/3605d26a/remote_services/discovery_etcd/private/src/etcd_watcher.c
----------------------------------------------------------------------
diff --git a/remote_services/discovery_etcd/private/src/etcd_watcher.c b/remote_services/discovery_etcd/private/src/etcd_watcher.c
index 919aefd..915f420 100644
--- a/remote_services/discovery_etcd/private/src/etcd_watcher.c
+++ b/remote_services/discovery_etcd/private/src/etcd_watcher.c
@@ -349,35 +349,32 @@ celix_status_t etcdWatcher_create(discovery_pt discovery, bundle_context_pt cont
}
}
- status = etcd_init(etcd_server, etcd_port);
- if (status != CELIX_SUCCESS)
- {
- return status;
- }
-
- etcdWatcher_addOwnFramework(*watcher);
-
- if ((status = celixThreadMutex_create(&(*watcher)->watcherLock, NULL)) != CELIX_SUCCESS) {
- return status;
- }
-
- if ((status = celixThreadMutex_lock(&(*watcher)->watcherLock)) != CELIX_SUCCESS) {
- return status;
- }
+ status = etcd_init(etcd_server, etcd_port);
- if ((status = celixThread_create(&(*watcher)->watcherThread, NULL, etcdWatcher_run, *watcher)) != CELIX_SUCCESS) {
- return status;
- }
+ printf(" ININT\n");
+ if (status == CELIX_SUCCESS) {
+ etcdWatcher_addOwnFramework(*watcher);
+ status = celixThreadMutex_create(&(*watcher)->watcherLock, NULL);
+ printf(" 111\n");
+ }
- (*watcher)->running = true;
+ if (status == CELIX_SUCCESS) {
+ if (celixThreadMutex_lock(&(*watcher)->watcherLock) == CELIX_SUCCESS) {
+ status = celixThread_create(&(*watcher)->watcherThread, NULL, etcdWatcher_run, *watcher);
+ if (status == CELIX_SUCCESS) {
+ printf(" STARTEDTSTARTED\n");
+ (*watcher)->running = true;
+ }
+ celixThreadMutex_unlock(&(*watcher)->watcherLock);
+ }
+ }
- if ((status = celixThreadMutex_unlock(&(*watcher)->watcherLock)) != CELIX_SUCCESS) {
- return status;
- }
- return status;
+ printf(" DONEDONE\n");
+ return status;
}
+
celix_status_t etcdWatcher_destroy(etcd_watcher_pt watcher) {
celix_status_t status = CELIX_SUCCESS;
char localNodePath[MAX_LOCALNODE_LENGTH];