X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=system.c;fp=system.c;h=29ca656aeb12daa407014879b99dbefbb093c884;hp=2110035fee6f5b8744dfa7c866e1f6390a666904;hb=b76eda6cd8ba061f49af4074838e6a42ae94144c;hpb=13259259bc53657617844660f2664f4b4fb4ac02 diff --git a/system.c b/system.c index 2110035..29ca656 100644 --- a/system.c +++ b/system.c @@ -342,6 +342,8 @@ static const struct ubus_method system_methods[] = { UBUS_METHOD_NOARG("upgrade", system_upgrade), UBUS_METHOD("watchdog", watchdog_set, watchdog_policy), UBUS_METHOD("signal", proc_signal, signal_policy), + + /* must remain at the end as it ia not always loaded */ UBUS_METHOD("nandupgrade", nand_set, nand_policy), }; @@ -371,8 +373,12 @@ procd_bcast_event(char *event, struct blob_attr *msg) void ubus_init_system(struct ubus_context *ctx) { + struct stat s; int ret; + if (stat("/sbin/upgraded", &s)) + system_object.n_methods -= 1; + _ctx = ctx; ret = ubus_add_object(ctx, &system_object); if (ret)