summaryrefslogtreecommitdiff
path: root/ubus.c
diff options
context:
space:
mode:
authorAlexandru Ardelean <ardeleanalex@gmail.com>2017-03-27 09:35:04 +0300
committerHans Dedecker <dedeckeh@gmail.com>2017-04-05 17:54:59 +0200
commit5fbd904e5b4ed87243c09c86adcfb17ae93aa4f5 (patch)
tree4e02b6ffb833d34a749c989907b4d95fb35acd45 /ubus.c
parent6e0acecbacdb5bf1ce0b71d4c2512eae4606be57 (diff)
downloadnetifd-5fbd904e5b4ed87243c09c86adcfb17ae93aa4f5.tar.gz
netifd: propagate error code on netifd_reload()
The context is that we generate some of the UCI config for netifd via scripts/programs. Every once in a while, there's a goof when doing that UCI generation, and netifd prints out the error at stderr, but returns 0 (success) err-code. This change will fail the ubus call if UCI config is invalid or missing for /etc/config/network. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com> Acked-by: Hans Dedecker <dedeckeh@gmail.com>
Diffstat (limited to 'ubus.c')
-rw-r--r--ubus.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ubus.c b/ubus.c
index 1b1a4cd..945eca1 100644
--- a/ubus.c
+++ b/ubus.c
@@ -44,8 +44,10 @@ netifd_handle_reload(struct ubus_context *ctx, struct ubus_object *obj,
struct ubus_request_data *req, const char *method,
struct blob_attr *msg)
{
- netifd_reload();
- return 0;
+ if (netifd_reload())
+ return UBUS_STATUS_UNKNOWN_ERROR;
+
+ return UBUS_STATUS_OK;
}
enum {