summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2017-05-05 12:18:59 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2017-05-05 12:23:11 +0200
commit58ca325302568bfd7ddbdd5d2d4a31b49d0be85a (patch)
treecc6e32cc5ada511bab55a882b999728bc4636efc
parentce8de8236b96dc771d3af3094e04e797e75767af (diff)
Change the effect of close session
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 <jose.bollo@iot.bzh>
-rw-r--r--src/afb-context.c8
1 files 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)