yuzu/src/core/hle
Yuri Kunde Schlesner 52f58e64ef Kernel: Make WaitObjects share ownership of Threads waiting on them
During normal operation, a thread waiting on an WaitObject and the
object hold mutual references to each other for the duration of the
wait.

If a process is forcefully terminated (The CTR kernel has a SVC to do
this, TerminateProcess, though no equivalent exists for threads.) its
threads would also be stopped and destroyed, leaving dangling pointers
in the WaitObjects.

The solution is to simply have the Thread remove itself from WaitObjects
when it is stopped. The vector of Threads in WaitObject has also been
changed to hold SharedPtrs, just in case. (Better to have a reference
cycle than a crash.)
2015-02-02 15:37:08 -02:00
..
kernel Kernel: Make WaitObjects share ownership of Threads waiting on them 2015-02-02 15:37:08 -02:00
service HID: Fix crash when pressing a key when the emulator is stopped 2015-02-02 15:37:05 -02:00
config_mem.cpp License change 2014-12-20 21:20:24 -08:00
config_mem.h License change 2014-12-20 21:20:24 -08:00
coprocessor.cpp License change 2014-12-20 21:20:24 -08:00
function_wrappers.h SVC: Use CASCADE_RESULT in SVC handlers 2015-01-30 11:49:46 -02:00
hle.cpp Added HID_SPVR service and split HID_U implementation into service/hid/hid.xxx 2015-01-21 13:31:10 -08:00
hle.h Move ThreadContext to core/core.h and deal with the fallout 2015-01-09 03:51:55 -02:00
result.h Remove result.h InvalidHandle 2015-01-30 11:49:45 -02:00
shared_page.cpp Add some support for the shared page (currently 3d slider is implemented) 2015-01-15 22:16:13 -05:00
shared_page.h Add some support for the shared page (currently 3d slider is implemented) 2015-01-15 22:16:13 -05:00
svc.cpp SVC: Enable CloseHandle, clean up DuplicateHandle 2015-02-02 15:37:04 -02:00
svc.h Move ThreadContext to core/core.h and deal with the fallout 2015-01-09 03:51:55 -02:00