From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=57422 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P3tl5-00053z-7z for qemu-devel@nongnu.org; Thu, 07 Oct 2010 12:55:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P3tl3-0005Ck-O2 for qemu-devel@nongnu.org; Thu, 07 Oct 2010 12:55:55 -0400 Received: from moutng.kundenserver.de ([212.227.17.8]:52092) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P3tl3-0005CS-9t for qemu-devel@nongnu.org; Thu, 07 Oct 2010 12:55:53 -0400 From: Stefan Weil Date: Thu, 7 Oct 2010 18:55:48 +0200 Message-Id: <1286470548-7518-1-git-send-email-weil@mail.berlios.de> Subject: [Qemu-devel] [PATCH] win32: Set unbuffered stdout List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: QEMU Developers Cc: Blue Swirl Win32 does not support line-buffering, but it allows unbuffered output. Unbuffered output is a good approximation. For typical output statements which usually end with '\n', it's even identical. Buffered output is unusable for program traces because of its large delay. Cc: Blue Swirl Signed-off-by: Stefan Weil --- os-win32.c | 6 ++++++ qemu-os-win32.h | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/os-win32.c b/os-win32.c index dd46bf4..3c6f50f 100644 --- a/os-win32.c +++ b/os-win32.c @@ -221,6 +221,12 @@ char *os_find_datadir(const char *argv0) return NULL; } +void os_set_line_buffering(void) +{ + setbuf(stdout, NULL); + setbuf(stderr, NULL); +} + /* * Parse OS specific command line options. * return 0 if option handled, -1 otherwise diff --git a/qemu-os-win32.h b/qemu-os-win32.h index 2ff9f45..c63778d 100644 --- a/qemu-os-win32.h +++ b/qemu-os-win32.h @@ -45,8 +45,7 @@ void os_host_main_loop_wait(int *timeout); static inline void os_setup_signal_handling(void) {} static inline void os_daemonize(void) {} static inline void os_setup_post(void) {} -/* Win32 doesn't support line-buffering and requires size >= 2 */ -static inline void os_set_line_buffering(void) {} +void os_set_line_buffering(void); static inline void os_set_proc_name(const char *dummy) {} #if !defined(EPROTONOSUPPORT) -- 1.7.1