[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] win32: Set unbuffered stdout
From: |
Blue Swirl |
Subject: |
[Qemu-devel] Re: [PATCH] win32: Set unbuffered stdout |
Date: |
Sat, 9 Oct 2010 09:43:45 +0000 |
Thanks, applied.
On Thu, Oct 7, 2010 at 4:55 PM, Stefan Weil <address@hidden> wrote:
> 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 <address@hidden>
> Signed-off-by: Stefan Weil <address@hidden>
> ---
> 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
>
>