summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2016-04-21 17:49:30 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2016-04-21 17:49:30 +0200
commit3bbfb37bb4572a110122b1a83e21261108a65460 (patch)
tree4fbe1c5537d4e1b186bb8676535c28618b31d994 /src
parent289017821655e0d9750eb7d5ae82c23790422a50 (diff)
manages reference counting for events
Events are sent to an unknown count of receivers. For this reason, the function push should not consume the json object given. Change-Id: Ie6c60074bd3822e7107d670f905cc86f56f826bf Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src')
-rw-r--r--src/session.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/session.c b/src/session.c
index 3e08808f..d4abde65 100644
--- a/src/session.c
+++ b/src/session.c
@@ -25,6 +25,8 @@
#include <assert.h>
#include <errno.h>
+#include <json.h>
+
#include "session.h"
#define NOW (time(NULL))
@@ -351,7 +353,7 @@ static int send(struct AFB_clientCtx *clientCtx, const char *event, struct json_
result = 0;
iter = clientCtx->senders;
while (iter != NULL) {
- iter->sender.itf->send(iter->sender.closure, event, object);
+ iter->sender.itf->send(iter->sender.closure, event, json_object_get(object));
result++;
iter = iter->next;
}