From af88f9a006b23f3ec0e559b1192570930ec648b5 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sun, 3 Nov 2019 19:53:05 +0100 Subject: [PATCH] rpcd-mod-luci: properly deal with failing ubus requests Signed-off-by: Jo-Philipp Wich --- libs/rpcd-mod-luci/Makefile | 2 +- libs/rpcd-mod-luci/src/luci.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/rpcd-mod-luci/Makefile b/libs/rpcd-mod-luci/Makefile index 01b581d24..51e311e7f 100644 --- a/libs/rpcd-mod-luci/Makefile +++ b/libs/rpcd-mod-luci/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rpcd-mod-luci -PKG_VERSION:=20191102 +PKG_VERSION:=20191103 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=Apache-2.0 diff --git a/libs/rpcd-mod-luci/src/luci.c b/libs/rpcd-mod-luci/src/luci.c index 91f6798d7..12a22c889 100644 --- a/libs/rpcd-mod-luci/src/luci.c +++ b/libs/rpcd-mod-luci/src/luci.c @@ -83,6 +83,8 @@ invoke_data_cb(struct ubus_request *req, int type, struct blob_attr *msg) if (ictx->cb != NULL) ictx->cb(req, type, msg); + + ictx->cb = NULL; } static void @@ -91,6 +93,9 @@ invoke_done_cb(struct ubus_request *req, int ret) struct invoke_context *ictx = container_of(req, struct invoke_context, request); + if (ictx->cb != NULL) + ictx->cb(req, -1, NULL); + uloop_timeout_cancel(&ictx->timeout); free(ictx); } -- 2.25.1