X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fmain-afs-supervisor.c;h=e56e1d86ecb605fb1a1d564f636bd370d849c975;hb=6f13ad1989875b5a0ce50b24211fd1fba093735f;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..e56e1d86 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"); @@ -34,14 +34,19 @@ #include "afb-session.h" #include "afs-supervisor.h" -#include "afs-config.h" +#include "afs-args.h" #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; +struct afs_args *main_config; /* the main apiset */ struct afb_apiset *main_apiset; @@ -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: @@ -192,7 +212,7 @@ error: int main(int ac, char **av) { /* scan arguments */ - main_config = afs_config_parse_arguments(ac, av); + main_config = afs_args_parse(ac, av); if (main_config->name) { verbose_set_name(main_config->name, 0); process_name_set_name(main_config->name);