opensm/main.c: force stdout to be line-buffered
PATCH v2 1/1 opensm/main.c: force stdout to be line-buffered
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".
---
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/[email protected]/msg04161.html
opensm/opensm/main.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
opensm/opensm/main.c +3 -0
@@ -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 ()) {
Signature · 7 lines
1.5.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): [email protected]
Sasha Khapyorsky
AppliedQuoted 9 lines · Yevgeny Kliteynik
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 <[email protected]>
Applied. Thanks.
Sasha
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html