From 58ca325302568bfd7ddbdd5d2d4a31b49d0be85a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Bollo?= Date: Fri, 5 May 2017 12:18:59 +0200 Subject: [PATCH] Change the effect of close session MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Using the flag AFB_SESSION_CLOSE now has effect only on the requesting binding. Before, all the session was closed. This could lead to unexpected conflicts. Change-Id: Ic945e8d164a8558eae05d169b0c5f372b036cf36 Signed-off-by: José Bollo --- src/afb-context.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/afb-context.c b/src/afb-context.c index 83ce5733..e9c73de5 100644 --- a/src/afb-context.c +++ b/src/afb-context.c @@ -79,7 +79,8 @@ void afb_context_disconnect(struct afb_context *context) context->refreshed = 1; } if (context->closing && !context->closed) { - afb_session_close(context->session); + afb_context_change_loa(context, 0); + afb_context_set(context, NULL, NULL); context->closed = 1; } afb_session_unref(context->session); @@ -131,10 +132,7 @@ void afb_context_set(struct afb_context *context, void *value, void (*free_value void afb_context_close(struct afb_context *context) { - if (context->super) - afb_context_close(context->super); - else - context->closing = 1; + context->closing = 1; } void afb_context_refresh(struct afb_context *context) -- 2.16.6