reddit discussion on replacing Python in 0install

Walter Bright newshound2 at digitalmars.com
Tue Jun 11 20:42:33 PDT 2013


On 6/11/2013 7:07 PM, Steven Schveighoffer wrote:
> On Tue, 11 Jun 2013 17:36:24 -0400, Denis Koroskin <2korden at gmail.com> wrote:
>
>> On Tuesday, 11 June 2013 at 16:50:50 UTC, Andrei Alexandrescu wrote:
>>> On 6/11/13 11:57 AM, Steven Schveighoffer wrote:
>>>> This code DOES fail:
>>>>
>>>> import std.stdio;
>>>>
>>>> int main()
>>>> {
>>>> writeln("hello");
>>>> std.stdio.stdout.flush();
>>>> return 0;
>>>> }
>>>
>>> Ah, I suspected so. (At a point in D's history writeln() did do a flush;
>>> people wanted to eliminate it for efficiency reasons.)
>>>
>>> We could introduce a flush() with throw in std.stdiobase.
>>>
>>>
>>> Andrei
>>
>> The best solution would be for writeln() to throw on use, and I think it's
>> fairly easy to implement: just flush once after using the file descriptor for
>> the first time, and throw if it fails.
>
> This is a good idea.
>
> I think you meant "just flush once after using the FILE * for the first time"

I think it's a bad idea, it'll muck up the buffering (i.e. make it slower).

The fix is when main() returns to do the flush there.



More information about the Digitalmars-d mailing list