X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=ubus.c;fp=ubus.c;h=216cc16c5b08c50eb373e4c170fd882f5e96a9f0;hb=32f1c6e4679b6e0737616f3e58528531e826a3ce;hp=e87543aeef73a09ff2403a4c8952ae40d9b06e83;hpb=9961e88dd853a30503298378679d2cedc497410e;p=project%2Fprocd.git diff --git a/ubus.c b/ubus.c index e87543a..216cc16 100644 --- a/ubus.c +++ b/ubus.c @@ -23,6 +23,7 @@ char *ubus_socket = NULL; 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); @@ -84,6 +85,9 @@ static void procd_ubus_try_connect(void) static void procd_ubus_connection_lost(struct ubus_context *old_ctx) { + if (!reconnect) + return; + procd_ubus_try_connect(); while (!ubus_connected) { procd_restart_ubus(); @@ -101,3 +105,8 @@ void procd_connect_ubus(void) procd_ubus_connection_lost(NULL); } +void procd_reconnect_ubus(int _reconnect) +{ + reconnect = _reconnect; +} +