+/*---------------------------------------------------------
+ | main
+ | Parse option and launch action
+ +--------------------------------------------------------- */
+
+int main(int argc, char *argv[])
+{
+ afb_debug("main-entry");
+
+ // let's run this program with a low priority
+ nice(20);
+
+ sd_fds_init();
+
+ // ------------- Build session handler & init config -------
+ config = afb_config_parse_arguments(argc, argv);
+ if (config->name) {
+ verbose_set_name(config->name, 0);
+ process_name_set_name(config->name);
+ process_name_replace_cmdline(argv, config->name);
+ }
+ afb_debug("main-args");
+
+ // --------- run -----------
+ if (config->background) {
+ // --------- in background mode -----------
+ INFO("entering background mode");
+ daemonize();
+ } else {
+ // ---- in foreground mode --------------------
+ INFO("entering foreground mode");
+ }
+ INFO("running with pid %d", getpid());
+
+ /* set the daemon environment */
+ setup_daemon();
+
+ afb_debug("main-start");
+
+ /* enter job processing */
+ jobs_start(3, 0, 50, start, NULL);
+ WARNING("hoops returned from jobs_enter! [report bug]");
+ return 1;