main: improve start
authorJosé Bollo <jose.bollo@iot.bzh>
Wed, 5 Jul 2017 12:35:05 +0000 (14:35 +0200)
committerJosé Bollo <jose.bollo@iot.bzh>
Wed, 5 Jul 2017 13:54:40 +0000 (15:54 +0200)
1: emits the correct PID even if daemonized

2: run the startup calls before executing the client (if any)

Change-Id: I7e06961d4a88bc6083aa1bc48ccedf57b76ea268
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/main.c

index b932868..d099e1f 100644 (file)
@@ -603,15 +603,15 @@ static void start(int signum)
                        goto error;
        }
 
+       /* run the startup calls */
+       run_startup_calls();
+
        /* run the command */
        if (execute_command() < 0)
                goto error;
 
        /* ready */
        sd_notify(1, "READY=1");
-
-       /* run the startup calls */
-       run_startup_calls();
        return;
 error:
        exit(1);
@@ -631,7 +631,6 @@ int main(int argc, char *argv[])
 
        // ------------- Build session handler & init config -------
        config = afb_config_parse_arguments(argc, argv);
-       INFO("running with pid %d", getpid());
 
        // --------- run -----------
        if (config->background) {
@@ -642,6 +641,7 @@ int main(int argc, char *argv[])
                // ---- in foreground mode --------------------
                INFO("entering foreground mode");
        }
+       INFO("running with pid %d", getpid());
 
        /* set the daemon environment */
        setup_daemon();