]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
hostapd: Set stdout line-buffered
authorPaul Stewart <pstew@chromium.org>
Thu, 4 Dec 2014 22:23:35 +0000 (14:23 -0800)
committerJouni Malinen <j@w1.fi>
Mon, 29 Dec 2014 13:49:05 +0000 (15:49 +0200)
If hostapd will use stdout for debugging, set stdout to be line
buffered in case its output is redirected to a file. This allows
incremental output to be viewed immediately instead of at the file
buffering interval.

Signed-hostap: Paul Stewart <pstew@chromium.org>

hostapd/main.c
src/utils/wpa_debug.c
src/utils/wpa_debug.h

index e88ea33da5fcb3739d7dc1fee6db4668d183db1b..3ecd009d3a9273314b04f87908f12b28a44bacc5 100644 (file)
@@ -638,6 +638,8 @@ int main(int argc, char *argv[])
 
        if (log_file)
                wpa_debug_open_file(log_file);
+       else
+               wpa_debug_setup_stdout();
 #ifdef CONFIG_DEBUG_LINUX_TRACING
        if (enable_trace_dbg) {
                int tret = wpa_debug_open_linux_tracing();
index 622fe9ffbad4764be37385838a91f1f391b33880..0d11905185365692dfa3dea2c3bf7776c6e9e958 100644 (file)
@@ -574,6 +574,14 @@ void wpa_debug_close_file(void)
 #endif /* CONFIG_DEBUG_FILE */
 }
 
+
+void wpa_debug_setup_stdout(void)
+{
+#ifndef _WIN32
+       setvbuf(stdout, NULL, _IOLBF, 0);
+#endif /* _WIN32 */
+}
+
 #endif /* CONFIG_NO_STDOUT_DEBUG */
 
 
index 391f1975011dfa1144cd79f976ce2213983d6223..400bea9e599fdedc3b6964d9b1146c85a2f86f61 100644 (file)
@@ -34,6 +34,7 @@ enum {
 #define wpa_hexdump_ascii_key(l,t,b,le) do { } while (0)
 #define wpa_debug_open_file(p) do { } while (0)
 #define wpa_debug_close_file() do { } while (0)
+#define wpa_debug_setup_stdout() do { } while (0)
 #define wpa_dbg(args...) do { } while (0)
 
 static inline int wpa_debug_reopen_file(void)
@@ -46,6 +47,7 @@ static inline int wpa_debug_reopen_file(void)
 int wpa_debug_open_file(const char *path);
 int wpa_debug_reopen_file(void);
 void wpa_debug_close_file(void);
+void wpa_debug_setup_stdout(void);
 
 /**
  * wpa_debug_printf_timestamp - Print timestamp for debug output