Code Review
/
apps
/
agl-service-navigation.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
binding: navigation: add missing read lock around afb_event_push()
[apps/agl-service-navigation.git]
/
binding
/
navigation-api.c
diff --git
a/binding/navigation-api.c
b/binding/navigation-api.c
index
d9ea285
..
19913a1
100644
(file)
--- a/
binding/navigation-api.c
+++ b/
binding/navigation-api.c
@@
-146,12
+146,22
@@
static void broadcast(afb_req_t request, const char *name, gboolean cache)
json_object_get(jresp);
*storage = jresp;
json_object_get(jresp);
*storage = jresp;
+ // increment reference for event
+ json_object_get(jresp);
+ afb_event_push(event, jresp);
+
g_rw_lock_writer_unlock(&ns->rw_lock);
g_rw_lock_writer_unlock(&ns->rw_lock);
+
+ return;
}
}
+ g_rw_lock_reader_lock(&ns->rw_lock);
+
// increment reference for event
json_object_get(jresp);
afb_event_push(event, jresp);
// increment reference for event
json_object_get(jresp);
afb_event_push(event, jresp);
+
+ g_rw_lock_reader_unlock(&ns->rw_lock);
}
static void broadcast_status(afb_req_t request)
}
static void broadcast_status(afb_req_t request)