mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
Treat failure of ubus_add_object() in ubus_init() as retry-able.
3c93e8eb41 regularised ubus_init()
by avoiding logging calls (it can be called before logging is up)
but it instead returned any error from ubus_add_object() which
made such an error fatal. It turns out this is awkward, so this
patch returns NULL always, so that the event-loop will continue
attemping to connect to ubus forever.
This is not necessarily optimal either, and should be looked at
by a UBUS grown-up, but it does solve the immediate problem.
This commit is contained in:
@@ -104,6 +104,8 @@ static void ubus_disconnect_cb(struct ubus_context *ubus)
|
||||
}
|
||||
}
|
||||
|
||||
/* Note that this cannot log, it either returns a fatal error, or NULL.
|
||||
If daemon->ubus is left as NULL, it will be called again for another try. */
|
||||
char *ubus_init()
|
||||
{
|
||||
struct ubus_context *ubus = NULL;
|
||||
@@ -117,7 +119,7 @@ char *ubus_init()
|
||||
if (ret)
|
||||
{
|
||||
ubus_destroy(ubus);
|
||||
return (char *)ubus_strerror(ret);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ubus->connection_lost = ubus_disconnect_cb;
|
||||
|
||||
Reference in New Issue
Block a user