From: Steven Barth Date: Tue, 15 Oct 2013 16:18:16 +0000 (+0200) Subject: ubus: register subscriber X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fodhcpd.git;a=commitdiff_plain;h=0fa1231d1296d82d8ee75dbe024c9a4509e784fe ubus: register subscriber --- diff --git a/src/config.c b/src/config.c index 5d29173..a5bcf26 100644 --- a/src/config.c +++ b/src/config.c @@ -276,7 +276,7 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr const char *ifname = NULL; #ifdef WITH_UBUS - if (overwrite) + if (overwrite || !iface->ifname[0]) ifname = ubus_get_ifname(name); #endif if ((c = tb[IFACE_ATTR_IFNAME])) diff --git a/src/ubus.c b/src/ubus.c index 55f52dc..9116dd8 100644 --- a/src/ubus.c +++ b/src/ubus.c @@ -213,7 +213,6 @@ static int handle_update(_unused struct ubus_context *ctx, _unused struct ubus_o static void subscribe_netifd(void) { - netifd.cb = handle_update; ubus_subscribe(ubus, &netifd, objid); ubus_invoke(ubus, objid, "dump", NULL, handle_dump, NULL, 0); } @@ -353,6 +352,9 @@ int init_ubus(void) return -1; } + netifd.cb = handle_update; + ubus_register_subscriber(ubus, &netifd); + ubus_add_uloop(ubus); ubus_add_object(ubus, &main_object); ubus_register_event_handler(ubus, &event_handler, "ubus.object.add");