http-svc: refactor of httpdLoop
authorJosé Bollo <jose.bollo@iot.bzh>
Mon, 25 Jan 2016 09:38:04 +0000 (10:38 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Mon, 25 Jan 2016 10:36:15 +0000 (11:36 +0100)
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 <jose.bollo@iot.bzh>
src/http-svc.c
src/main.c

index 1eeb287..3b9db7a 100644 (file)
@@ -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
index 302d307..e14dc3a 100644 (file)
@@ -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) {