* [Patch v2] opensm/main.c: force stdout to be line-buffered
@ 2010-06-10 12:00 Yevgeny Kliteynik
[not found] ` <4C10D3F2.700-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Yevgeny Kliteynik @ 2010-06-10 12:00 UTC (permalink / raw)
To: Sasha Khapyorsky; +Cc: Linux RDMA
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.
Forcing stdout to always be line-buffered and to have a
more predictable behavior when used as "opensm > some_file".
Signed-off-by: Yevgeny Kliteynik <kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
---
Changes since V1:
- replacing setlinebuf() with an ANSI C compliant setvbuf()
- Note: similar patch for ibv_asyncwatch was accepted by Roland:
http://www.mail-archive.com/linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org/msg04161.html
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 0093aa7..6e6c733 100644
--- a/opensm/opensm/main.c
+++ b/opensm/opensm/main.c
@@ -618,6 +618,9 @@ int main(int argc, char *argv[])
{NULL, 0, NULL, 0} /* Required at the end of the array */
};
+ /* force stdout to be line-buffered */
+ setvbuf(stdout, NULL, _IOLBF, 0);
+
/* 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 majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Patch v2] opensm/main.c: force stdout to be line-buffered
[not found] ` <4C10D3F2.700-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
@ 2010-06-17 14:29 ` Sasha Khapyorsky
0 siblings, 0 replies; 2+ messages in thread
From: Sasha Khapyorsky @ 2010-06-17 14:29 UTC (permalink / raw)
To: Yevgeny Kliteynik; +Cc: Linux RDMA
On 15:00 Thu 10 Jun , 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.
>
> Forcing stdout to always be line-buffered and to have a
> more predictable behavior when used as "opensm > some_file".
>
> Signed-off-by: Yevgeny Kliteynik <kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
Applied. Thanks.
Sasha
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-06-17 14:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-10 12:00 [Patch v2] opensm/main.c: force stdout to be line-buffered Yevgeny Kliteynik
[not found] ` <4C10D3F2.700-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2010-06-17 14:29 ` Sasha Khapyorsky
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox