mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
This used to crash so it was removed. However I think this is a cruicial feature. This is the only way to observe the stack-frames, registers and disasm around the PC in a user friendly way. The reason this caused crashes was that we got a reference to a std::vector and iterated over it in one thread while another thread could modify it (and thereby invalidating the iterators). The way I "fixed" it is to just copy the `std::vector<std::shared_ptr<...>>` and iterate over the copy. This obviously has some overhead (locking the shared_ptr counters and incrementing them). It also allows entities other than the Thread manager to keep the Thread objects frome being deleted but that should not be a problem. |
||
|---|---|---|
| .. | ||
| CPUDecoder.h | ||
| CPUDisAsm.h | ||
| CPUInstrTable.h | ||
| CPUThread.cpp | ||
| CPUThread.h | ||
| CPUThreadManager.cpp | ||
| CPUThreadManager.h | ||