a906297
--- a/src/utils/wpa_debug.c
a906297
+++ b/src/utils/wpa_debug.c
a906297
@@ -79,6 +79,7 @@ void wpa_debug_print_timestamp(void)
a906297
 	if (out_file)
5413757
 		fprintf(out_file, "%ld.%06u: ", (long) tv.sec,
5413757
 			(unsigned int) tv.usec);
a906297
+	fflush(out_file);
5413757
 #endif /* CONFIG_DEBUG_FILE */
a906297
 	if (!out_file && !wpa_debug_syslog)
a906297
 		printf("%ld.%06u: ", (long) tv.sec, (unsigned int) tv.usec);
a906297
@@ -230,6 +231,7 @@ void wpa_printf(int level, const char *f
a906297
 			va_start(ap, fmt);
5413757
 			vfprintf(out_file, fmt, ap);
5413757
 			fprintf(out_file, "\n");
5413757
+			fflush(out_file);
a906297
 			va_end(ap);
a906297
 		}
5413757
 #endif /* CONFIG_DEBUG_FILE */
a906297
@@ -365,6 +367,7 @@ static void _wpa_hexdump(int level, cons
5413757
 			fprintf(out_file, " [REMOVED]");
5413757
 		}
5413757
 		fprintf(out_file, "\n");
5413757
+		fflush(out_file);
a906297
 	}
5413757
 #endif /* CONFIG_DEBUG_FILE */
a906297
 	if (!wpa_debug_syslog && !out_file) {
a906297
@@ -468,6 +471,8 @@ static void _wpa_hexdump_ascii(int level
5413757
 		}
a906297
 	}
a906297
 file_done:
a906297
+	if (out_file)
5413757
+		fflush(out_file);
5413757
 #endif /* CONFIG_DEBUG_FILE */
a906297
 	if (!wpa_debug_syslog && !out_file) {
a906297
 		if (!show) {