Open benvanik opened 9 years ago
AppendLine no longer uses a mutex, but a portion of the ring is still reserved for threads currently writing.
This will cause a livelock if the debugger tries to write to the log after pausing a thread that's currently writing.
Currently the logging lock can lead to deadlocks when a thread is suspended while holding the lock. Taking a global lock prevents this but dramatically slows down any app with heavy logging. Making the ringbuffer operations lockfree (somehow? thread-local ringbuffers? etc?) would be ideal.