aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2017-08-10 11:43:10 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2017-08-10 11:45:18 +0200
commita2efb09440814063cf6472b7111ff72c4582f1b2 (patch)
treeb4e270e2aeb668bb4c3f213bb76a68abc8f5b29b
parent8bfb43a861ca4562f1e5928cf9992849909c3e3a (diff)
afb-xreq: handle when no reply was sent
Send an error reply if no reply was sent. Change-Id: Ibc5c98d22b9820f1f0b5370083f79a52213ddc61 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-rw-r--r--src/afb-xreq.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/afb-xreq.c b/src/afb-xreq.c
index c70e0006..80dd143d 100644
--- a/src/afb-xreq.c
+++ b/src/afb-xreq.c
@@ -49,6 +49,8 @@ static inline void xreq_addref(struct afb_xreq *xreq)
static inline void xreq_unref(struct afb_xreq *xreq)
{
if (!__atomic_sub_fetch(&xreq->refcount, 1, __ATOMIC_RELAXED)) {
+ if (!xreq->replied)
+ afb_xreq_fail(xreq, "error", "no reply");
if (xreq->hookflags)
afb_hook_xreq_end(xreq);
xreq->queryitf->unref(xreq);