GN: Make sure print function flushes stdout to avoid output delays
caused by buffered pipes.

R=dpranke@chromium.org

Change-Id: I02d459726488e8aeb126d34bcddd73b885833a98
Reviewed-on: https://chromium-review.googlesource.com/941207
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Yngve Pettersen <yngve@vivaldi.com>
Cr-Original-Commit-Position: refs/heads/master@{#540011}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bbc17a39656082b3559be1ec6bdbf694b614ceb4
diff --git a/tools/gn/functions.cc b/tools/gn/functions.cc
index fa968c9..36b6207 100644
--- a/tools/gn/functions.cc
+++ b/tools/gn/functions.cc
@@ -964,9 +964,10 @@
 
   const BuildSettings::PrintCallback& cb =
       scope->settings()->build_settings()->print_callback();
-  if (cb.is_null())
+  if (cb.is_null()) {
     printf("%s", output.c_str());
-  else
+    fflush(stdout);
+  } else
     cb.Run(output);
 
   return Value();