summaryrefslogtreecommitdiffstats
path: root/src/afb-msg-json.c
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2017-04-10 21:39:22 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2017-04-10 21:39:22 +0200
commitca9807f73646f536ac58c002d963a8bb8d245f5d (patch)
treebf673c996dd7cb9f31fdf70cefd0593a34caeb4a /src/afb-msg-json.c
parent80900470d00c56d2fa51fb7c3da429d09e1d9a78 (diff)
Make implementation multithread
This changes makes many improvement needed for multi-threading: - json object can't be shared across threads because get/set is not protected - event are now multithread compatible Change-Id: Id44b12c68e0fa67042b8ea44939af4edfa76270a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/afb-msg-json.c')
-rw-r--r--src/afb-msg-json.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/afb-msg-json.c b/src/afb-msg-json.c
index b4ae51b4..6d8f7327 100644
--- a/src/afb-msg-json.c
+++ b/src/afb-msg-json.c
@@ -29,15 +29,14 @@ struct json_object *afb_msg_json_reply(const char *status, const char *info, str
{
json_object *msg, *request;
const char *token, *uuid;
- static json_object *type_reply = NULL;
+ json_object *type_reply = NULL;
msg = json_object_new_object();
if (resp != NULL)
json_object_object_add(msg, "response", resp);
- if (type_reply == NULL)
- type_reply = json_object_new_string("afb-reply");
- json_object_object_add(msg, "jtype", json_object_get(type_reply));
+ type_reply = json_object_new_string("afb-reply");
+ json_object_object_add(msg, "jtype", type_reply);
request = json_object_new_object();
json_object_object_add(msg, "request", request);
@@ -75,7 +74,7 @@ struct json_object *afb_msg_json_reply_error(const char *status, const char *inf
struct json_object *afb_msg_json_event(const char *event, struct json_object *object)
{
json_object *msg;
- static json_object *type_event = NULL;
+ json_object *type_event = NULL;
msg = json_object_new_object();
@@ -84,9 +83,8 @@ struct json_object *afb_msg_json_event(const char *event, struct json_object *ob
if (object != NULL)
json_object_object_add(msg, "data", object);
- if (type_event == NULL)
- type_event = json_object_new_string("afb-event");
- json_object_object_add(msg, "jtype", json_object_get(type_event));
+ type_event = json_object_new_string("afb-event");
+ json_object_object_add(msg, "jtype", type_event);
return msg;
}