stdio line-streaming revisited
Sean Kelly
sean at f4.ca
Thu Mar 29 10:19:13 PDT 2007
Andrei Alexandrescu (See Website For Email) wrote:
> Sean Kelly wrote:
>> Andrei Alexandrescu (See Website For Email) wrote:
>>> Bill Baxter wrote:
>>>>
>>>> I believe the current discussion is only about under-the-hood
>>>> implementation issues. So I don't think you have to worry about any
>>>> D libraries exposing (good or bad) C/C++ design decisions to users.
>>>> Tango is going to expose the same D interface no matter how it's
>>>> implemented under the hood.
>>>
>>> That's great, however the interface has a problem too: it does not
>>> produce atomic strings in multithreaded programs.
>>
>> Which interface? And are you talking about input or output?
>
> Cout. The thing is that the design using the syntax Cout(a)(b) is
> conducive to two separate calls to the library. I recall this has been
> briefly discussed here.
Just making sure we were on the same page. In my experience, raw output
is typically used for logging--that's about the only case I can think of
where the random interleaving of messages is acceptable. Tango has a
separate logging facility which performs synchronization for exactly
this purpose: tango.util.log. Perhaps this particular critique would be
more appropriately applied to the logging package?
Sean
More information about the Digitalmars-d
mailing list