static struct ubus_context *ctx;
static struct uloop_process ubus_proc;
static bool ubus_connected = false;
+static int reconnect = 1;
static void procd_ubus_connection_lost(struct ubus_context *old_ctx);
ctx->connection_lost = procd_ubus_connection_lost;
ubus_connected = true;
ubus_init_service(ctx);
- if (getpid() == 1) {
+ ubus_init_system(ctx);
+ if (getpid() == 1)
ubus_init_log(ctx);
- ubus_init_system(ctx);
- }
}
static void procd_ubus_connection_lost(struct ubus_context *old_ctx)
{
+ if (!reconnect)
+ return;
+
procd_ubus_try_connect();
while (!ubus_connected) {
procd_restart_ubus();
procd_ubus_connection_lost(NULL);
}
+void procd_reconnect_ubus(int _reconnect)
+{
+ reconnect = _reconnect;
+}
+