X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fmain-afs-supervisor.c;h=6b79c9c1d41b6fe9562a4baf22fa7e1a8175459c;hb=5715fd569d6f8258830bb1808f9b65bde72cc5cd;hp=461b0a0f09d0cb5c24878cd02cc7b728509e71cc;hpb=bebb8fa967f3b71b609119b293d2869d56036586;p=src%2Fapp-framework-binder.git diff --git a/src/main-afs-supervisor.c b/src/main-afs-supervisor.c index 461b0a0f..6b79c9c1 100644 --- a/src/main-afs-supervisor.c +++ b/src/main-afs-supervisor.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016, 2017, 2018 "IoT.bzh" + * Copyright (C) 2016-2019 "IoT.bzh" * Author José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -39,6 +39,11 @@ #include "verbose.h" #include "jobs.h" #include "process-name.h" +#include "watchdog.h" + +#if !defined(DEFAULT_SUPERVISOR_INTERFACE) +# define DEFAULT_SUPERVISOR_INTERFACE NULL +#endif /* the main config */ struct afs_config *main_config; @@ -99,13 +104,20 @@ static struct afb_hsrv *start_http_server() NOTICE("Waiting port=%d rootdir=%s", main_config->httpdPort, main_config->rootdir); NOTICE("Browser URL= http://localhost:%d", main_config->httpdPort); - rc = afb_hsrv_start(hsrv, (uint16_t) main_config->httpdPort, 15); + rc = afb_hsrv_start(hsrv, 15); if (!rc) { ERROR("starting of httpd failed"); afb_hsrv_put(hsrv); return NULL; } + rc = afb_hsrv_add_interface_tcp(hsrv, DEFAULT_SUPERVISOR_INTERFACE, (uint16_t) main_config->httpdPort); + if (!rc) { + ERROR("setting interface failed"); + afb_hsrv_put(hsrv); + return NULL; + } + return hsrv; } @@ -180,6 +192,14 @@ static void start(int signum, void *arg) /* ready */ sd_notify(1, "READY=1"); + + /* activate the watchdog */ +#if HAS_WATCHDOG + if (watchdog_activate() < 0) + ERROR("can't start the watchdog"); +#endif + + /* discover binders */ afs_supervisor_discover(); return; error: