diff options
author | Jo-Philipp Wich <jo@mein.io> | 2019-11-03 19:53:05 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2019-11-03 19:57:14 +0100 |
commit | af88f9a006b23f3ec0e559b1192570930ec648b5 (patch) | |
tree | cbbf3ef37028a3432eb394ffc08c068f4eb80b46 | |
parent | eb808d0e9f9fb43ee9312bfee22d8fcaa3a69b06 (diff) |
rpcd-mod-luci: properly deal with failing ubus requests
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r-- | libs/rpcd-mod-luci/Makefile | 2 | ||||
-rw-r--r-- | libs/rpcd-mod-luci/src/luci.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/libs/rpcd-mod-luci/Makefile b/libs/rpcd-mod-luci/Makefile index 01b581d240..51e311e7f3 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 <jo@mein.io> PKG_LICENSE:=Apache-2.0 diff --git a/libs/rpcd-mod-luci/src/luci.c b/libs/rpcd-mod-luci/src/luci.c index 91f6798d79..12a22c8891 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); } |