[ofw] [patch][opensm] Fix for win8 assert
Smith, Stan
stan.smith at intel.com
Wed May 25 17:16:55 PDT 2011
Upon further consideration, since Windows does not support line-buffered mode (flush on the occurrence of <newline> in the stream), why do we even bother with the setvbuf() call?
Why not let Windows stdio do it's default setup and skip the setvbuf() call?
In other words, how is ' setvbuf(stdout, NULL, _IOLBF, 1024)' advantageous in the Windows environment?
>-----Original Message-----
>From: Fab Tillier [mailto:ftillier at microsoft.com]
>Sent: Wednesday, May 25, 2011 1:29 PM
>To: Smith, Stan; Alex Naslednikov; ofw at lists.openfabrics.org
>Cc: Galina Tcharny; OpenSM
>Subject: RE: [ofw] [patch][opensm] Fix for win8 assert
>
>I tried to look up (non-MSDN) documentation for setvbuf, and I can't find anything that would indicate that _IOLBF with a size of zero would
>do anything other than _IONBF (line buffering with a buffer size of zero seems like not buffering, no?)
>
>If you want the default buffers size, why not use BUFSIZ? That seems like it would achieve actual line buffering, using the default buffer.
>
>-Fab
>
>Smith, Stan wrote on Mon, 23 May 2011 at 11:58:05
>
>> Hello,
>> What is the logic behind a buffer size of 1024?
>> Since this is shared code (Linux & Windows) the change should be identified
>> as Windows specific; as in
>>
>> #ifdef __WIN__
>> setvbuf(stdout, NULL, _IOLBF, 1024);
>> #else
>> /* force stdout to be line-buffered */
>> setvbuf(stdout, NULL, _IOLBF, 0);
>> #endif
>>
>>> -----Original Message----- From: ofw-bounces at lists.openfabrics.org
>>> [mailto:ofw- bounces at lists.openfabrics.org] On Behalf Of Alex
>>> Naslednikov Sent: Sunday, May 22, 2011 4:43 AM To:
>>> ofw at lists.openfabrics.org Cc: Galina Tcharny; OpenSM Subject: [ofw]
>>> [patch][opensm] Fix for win8 assert
>>>
>>> [opensm] fix win8 assert (2<=size<=INT_MAX): setvbuf size param change
>>> from 0 to 1024 Signed-off by: Galina Tcharny (galina at mellanox.co.il)
>>> Index: B:/users/xalex/MLNX_VPI_trunk/ulp/opensm/user/opensm/main.c
>>> ========================================================= ==========
>>> --- B:/users/xalex/MLNX_VPI_trunk/ulp/opensm/user/opensm/main.c
>>> (revision 8023) +++
>>> B:/users/xalex/MLNX_VPI_trunk/ulp/opensm/user/opensm/main.c (revision
>>> 8024) @@ -692,7 +692,7 @@ };
>>>
>>> /* force stdout to be line-buffered */
>>> - setvbuf(stdout, NULL, _IOLBF, 0);
>>> + setvbuf(stdout, NULL, _IOLBF, 1024);
>>>
>>> /* Make sure that the opensm and complib were compiled using
>>> same modes (debug/free) */
>>>
>>> Alexander (XaleX) Naslednikov
>>> SW Networking Team
>>> Mellanox Technologies
>>>
>>>
>>> _______________________________________________
>>> ofw mailing list
>>> ofw at lists.openfabrics.org
>>> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
>> _______________________________________________
>> ofw mailing list
>> ofw at lists.openfabrics.org
>> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
More information about the ofw
mailing list