summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2025-09-17 10:27:00 +0000
committerFelix Fietkau2025-09-17 10:27:55 +0000
commit5b8f185e2783433ffcb63c01e337ac07f66e2878 (patch)
tree2cf158758da3139dc2347e36d4f593d0e23c93b7
parent122135b96455dbbaed26d5ab04afcd4343293e0f (diff)
downloadopenwrt-5b8f185e2783433ffcb63c01e337ac07f66e2878.tar.gz
ucode: ubus: add shared global connection to uloop
Fixes issues with registering objects Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--package/utils/ucode/patches/100-ubus-add-connection-functions-to-global-scope.patch6
1 files changed, 4 insertions, 2 deletions
diff --git a/package/utils/ucode/patches/100-ubus-add-connection-functions-to-global-scope.patch b/package/utils/ucode/patches/100-ubus-add-connection-functions-to-global-scope.patch
index 33136449a7..4a232346ff 100644
--- a/package/utils/ucode/patches/100-ubus-add-connection-functions-to-global-scope.patch
+++ b/package/utils/ucode/patches/100-ubus-add-connection-functions-to-global-scope.patch
@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/lib/ubus.c
+++ b/lib/ubus.c
-@@ -511,16 +511,40 @@ uc_ubus_objects_cb(struct ubus_context *
+@@ -511,16 +511,42 @@ uc_ubus_objects_cb(struct ubus_context *
static bool
_conn_get(uc_vm_t *vm, uc_ubus_connection_t **conn)
{
@@ -36,6 +36,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ ucv_put(c->res);
+ err_return(UBUS_STATUS_UNKNOWN_ERROR, "Unable to connect to ubus socket");
+ }
++
++ ubus_add_uloop(&c->ctx);
- if (c->ctx.sock.fd < 0)
- err_return(UBUS_STATUS_CONNECTION_FAILED, "Connection is closed");
@@ -57,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*conn = c;
ok_return(true);
-@@ -2606,6 +2630,7 @@ static void free_request(void *ud) {
+@@ -2606,6 +2632,7 @@ static void free_request(void *ud) {
void uc_module_init(uc_vm_t *vm, uc_value_t *scope)
{
uc_function_list_register(scope, global_fns);