From 9b0f0c14da41424fc0ab50cc9a71499dcb307bd0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Bollo?= Date: Mon, 25 Jan 2016 10:38:04 +0100 Subject: [PATCH 1/1] http-svc: refactor of httpdLoop MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reading stdin drives to problems when afb-daemon is launched with its input either closed or connected to /dev/null. Conversely, launching afb-daemon with the option --daemon is not always possible because it really daemonizes itself what forbids to control it or its group directly. Change-Id: I182741226762110809e50d68154f5d29d133303b Signed-off-by: José Bollo --- src/http-svc.c | 17 ++++------------- src/main.c | 2 +- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/http-svc.c b/src/http-svc.c index 1eeb2878..3b9db7ad 100644 --- a/src/http-svc.c +++ b/src/http-svc.c @@ -298,20 +298,11 @@ PUBLIC AFB_error httpdStart(AFB_session *session) { // infinite loop PUBLIC AFB_error httpdLoop(AFB_session *session) { - static int count = 0; - + int count = 0; if (verbose) fprintf(stderr, "AFB:notice entering httpd waiting loop\n"); - if (session->foreground) { - - while (TRUE) { - fprintf(stderr, "AFB:notice Use Ctrl-C to quit\n"); - (void) getc(stdin); - } - } else { - while (TRUE) { - sleep(3600); - if (verbose) fprintf(stderr, "AFB:notice httpd alive [%d]\n", count++); - } + while (TRUE) { + sleep(3600); + if (verbose) fprintf(stderr, "AFB:notice httpd alive [%d]\n", count++); } // should never return from here diff --git a/src/main.c b/src/main.c index 302d3076..e14dc3a1 100644 --- a/src/main.c +++ b/src/main.c @@ -442,7 +442,7 @@ int main(int argc, char *argv[]) { // open syslog if ever needed openlog("AGB-log", 0, LOG_DAEMON); - // -------------- Try to kill any previsou process if asked --------------------- + // -------------- Try to kill any previous process if asked --------------------- if (session->killPrevious) { pid = readPidFile (session->config); // enforce commandline option switch (pid) { -- 2.16.6