From ca1d4079217f0751df55579e972a89d42b88e9ed Mon Sep 17 00:00:00 2001
From: Stefan Knoblich <stkn@openisdn.net>
Date: Thu, 23 May 2013 02:05:25 +0200
Subject: [PATCH] ivrd: fflush() stdout before entering esl_listen()

Fixes repeatedly printing the 'Starting forking listener' message,
if stdout has been redirected into a logfile (for example).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
---
 libs/esl/ivrd.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/libs/esl/ivrd.c b/libs/esl/ivrd.c
index 6098abcaf9..0d1a98ec4f 100644
--- a/libs/esl/ivrd.c
+++ b/libs/esl/ivrd.c
@@ -154,13 +154,20 @@ int main(int argc, char *argv[])
 		return -1;
 	}
 
+	/*
+	 * NOTE: fflush() stdout before entering esl_listen().
+	 * Not doing so causes the fork()ed child to repeat the message for every incoming
+	 * connection, if stdout has been redirected (into a logfile, for example).
+	 */
 	if (thread) {
 		printf("Starting threaded listener.\n");
+		fflush(stdout);
 		esl_listen_threaded(ip, port, mycallback, 100000);
 	} else {
 		printf("Starting forking listener.\n");
+		fflush(stdout);
 		esl_listen(ip, port, my_forking_callback);
 	}
-	
+
 	return 0;
 }