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 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); }