diff options
author | John Crispin <blogic@openwrt.org> | 2013-04-18 21:27:58 +0200 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2013-04-23 18:54:03 +0200 |
commit | 32f1c6e4679b6e0737616f3e58528531e826a3ce (patch) | |
tree | 48c57bd9cf880799db14a75a9f5e8d603287bc08 /system.c | |
parent | 9961e88dd853a30503298378679d2cedc497410e (diff) | |
download | unitd-32f1c6e4679b6e0737616f3e58528531e826a3ce.tar unitd-32f1c6e4679b6e0737616f3e58528531e826a3ce.zip |
fix behaviour during sysupgrade
Signed-off-by: John Crispin <blogic@openwrt.org>
Diffstat (limited to 'system.c')
-rw-r--r-- | system.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -24,6 +24,7 @@ #include "procd.h" #include "watchdog.h" +#include "hotplug.h" #define HOSTNAME_PATH "/proc/sys/kernel/hostname" @@ -55,6 +56,17 @@ static int system_info(struct ubus_context *ctx, struct ubus_object *obj, return 0; } +static int system_upgrade(struct ubus_context *ctx, struct ubus_object *obj, + struct ubus_request_data *req, const char *method, + struct blob_attr *msg) +{ + procd_reconnect_ubus(0); + log_shutdown(); + hotplug_shutdown(); + + return 0; +} + enum { WDT_FREQUENCY, WDT_TIMEOUT, @@ -120,6 +132,7 @@ static int watchdog_set(struct ubus_context *ctx, struct ubus_object *obj, static const struct ubus_method system_methods[] = { UBUS_METHOD_NOARG("info", system_info), + UBUS_METHOD_NOARG("upgrade", system_upgrade), UBUS_METHOD("watchdog", watchdog_set, watchdog_policy), }; |