citra/src/core/hle
Pengfei Zhu de3d7cf49f
kernel/thread: Change owner_process to std::weak_ptr (#5325)
* kernel/thread: Change owner_process to std::weak_ptr

Previously this leaked almost all kernel objects. In short, Threads own Processes which own HandleTables which own maps of Objects which include Threads.

Changing this to weak_ptr at least got the camera interfaces to destruct properly. Did not really check the other objects though, and I think there are probably more leaks.

* hle/kernel: Lock certain objects while deserializing

When deserializing other kernel objects, these objects (`MemoryRegion`s and `VMManager`s) can possibly get modified. To avoid inconsistent state caused by destructor side-effects, we may as well simply lock them until loading is fully completed.

* Fix silly typo

Somehow this didn't break?!
2020-11-15 12:59:45 +01:00
..
applets applets/swkbd: Properly handle button_text 2020-05-31 09:41:30 +08:00
kernel kernel/thread: Change owner_process to std::weak_ptr (#5325) 2020-11-15 12:59:45 +01:00
service Minor frontend fixes to savestates (#5430) 2020-09-03 00:04:23 +02:00
ipc.h Kernel/Thread: move thread queue, current thread, and scheduling related function into the manager 2018-10-26 16:07:11 -04:00
ipc_helpers.h ipc_helpers: Make PushStaticBuffer take std::vector by value 2020-04-18 19:17:11 -04:00
lock.cpp hle/lock: Remove #pragma once in cpp file 2017-10-21 13:59:14 +01:00
lock.h Use recursive_mutex instead of mutex to fix #2902 2017-08-29 20:39:55 +12:00
result.h Finished archives; remove pod.h 2020-02-13 17:41:26 +08:00
romfs.cpp RomFSFile: Default constructor 2018-07-26 13:10:56 +02:00
romfs.h RomFSFile: Default constructor 2018-07-26 13:10:56 +02:00