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.

Reply via email to