From 3bbfb37bb4572a110122b1a83e21261108a65460 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Bollo?= Date: Thu, 21 Apr 2016 17:49:30 +0200 Subject: [PATCH] manages reference counting for events MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- plugins/samples/HelloWorld.c | 2 +- src/session.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/samples/HelloWorld.c b/plugins/samples/HelloWorld.c index ec060e97..2714ef4e 100644 --- a/plugins/samples/HelloWorld.c +++ b/plugins/samples/HelloWorld.c @@ -54,7 +54,7 @@ static void pingBug (struct afb_req request) static void pingEvent(struct afb_req request) { json_object *query = afb_req_json(request); - afb_evmgr_push(afb_daemon_get_evmgr(interface->daemon), "event", json_object_get(query)); + afb_evmgr_push(afb_daemon_get_evmgr(interface->daemon), "event", query); ping(request, json_object_get(query), "event"); } 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 #include +#include + #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; } -- 2.16.6