Improve support for multi-threaded apps
Status: Inactive
Brought to you by:
bmerry
Currently whichever thread first does GL stuff becomes the debugger thread, and other threads are ignored for debugging. Instead, a lock should be used to protect access to the critical stuff (stop state, stop flags, request queue, output pipe), and when stopped a condition variable should be used to hold other threads until the go is received (or the lock can serve that purpose). There are a few wrinkles:
- The platform layer has no condition variable support (might be non-trivial on Windows)
- It might need a way to atomically drop a lock and wait for the next request in the request queue.