On 3 December 2013 02:59, Esteban A. Maringolo <emaringolo@gmail.com> wrote:
2013/12/2 Sean P. DeNigris <sean@clipperadams.com>:
> EstebanLM wrote
>> yes, the transcript is ThreadSafeTranscript
>
> Does "ThreadSafe" mean I don't have to wrap all my debug logging in
> "WorldState addDeferredUIMessage: [ Transcript... ]? That would save a lot
> of time :)

According to the implementation it means there is a Mutex stopping
multiple processes from doing operations (#nextPut:, #nextPutAll:) at
the same time. It is... who sends the message first will be received
happily, whoever is second will have to wait in a semaphore :D

Funny outputs might happen if two different senders use #nextPut: intertwined.
(other frameworks only left "complete line" outputs to loggers, to
avoid this kind of scenarios).

imo this is exactly the case when for 0.00001% of chance that it will be required once,
you spend tons of effort to make it work, means: overengineering.

And, btw, good luck with solving the Halting problem along the way
when you will be implementing this 'complete line' (when multiple threads sending
output, but don't allowed to mix the lines)




--
Best regards,
Igor Stasenko.