On Wednesday, 12 November 2014 at 05:36:40 UTC, Jose wrote:
On Tuesday, 11 November 2014 at 15:06:49 UTC, Dicebot wrote:
https://github.com/Dicebot/phobos/tree/logger-safety
One shared Logger:
https://github.com/burner/phobos/blob/logger/std/experimental/logger/core.d#L1696
One global function that references that shared Logger:
https://github.com/burner/phobos/blob/logger/std/experimental/logger/core.d#L292
And more importantly a Mutex that is always acquired when
writing:
https://github.com/burner/phobos/blob/logger/std/experimental/logger/core.d#L1035
Does this mean that if I use this library on a machine that has
32 cores, 100s of threads and 1000s of fiber only one
thread/fiber can write at a time no matter the concrete
implementation of my logger? Am I missing something or isn't
this a non-starter?
Thanks,
-Jose
Only one thread can write to one Logger at a time, also known as
synchronization. Anything else is properly wrong. But you can
have as many Logger as you have memory.