Hi Yevgeny,

On 10:26 Wed 03 Mar     , Yevgeny Kliteynik wrote:
> When stdout is assigned to a terminal, it is line-buffered.
> But when opensm's stdout is redirected to a file, stdout
> becomes block-buffered, which means that '\n' won't cause
> the buffer to be flushed.

Such redirection happens in daemon mode. Another case would be
'opensm > somefile '. Where do you see the problem?

Would '-d2' option be related to the issue?

> 
> Forcing stdout to always be line-buffered.
> 
> Signed-off-by: Yevgeny Kliteynik <klit...@dev.mellanox.co.il>
> ---
>  opensm/opensm/main.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/opensm/opensm/main.c b/opensm/opensm/main.c
> index f9a33af..5ea65dd 100644
> --- a/opensm/opensm/main.c
> +++ b/opensm/opensm/main.c
> @@ -613,6 +613,9 @@ int main(int argc, char *argv[])
>               {NULL, 0, NULL, 0}      /* Required at the end of the array */
>       };
> 
> +     /* force stdout to be line-buffered */
> +     setlinebuf(stdout);

What about stderr? IOW describe your problem in more details (see above).

Sasha

> +
>       /* Make sure that the opensm and complib were compiled using
>          same modes (debug/free) */
>       if (osm_is_debug() != cl_is_debug()) {
> -- 
> 1.5.1.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to