mirror of
https://github.com/starr-dusT/citra.git
synced 2024-10-02 10:26:17 -07:00
3a7a686fa9
To break a circular reference formed by process->handle_table->shared_memory->process. Since SharedMemory uses its owner process in the destructor, which is not kept alive by SharedMemory any more, we need to make sure that the lifetime of process is longer than the shared memory. To partially resolve this, Process now explicitly releases shared memory first in its destructor. This is with the assumtion that there is no inter-process reference to shared memory on exit, which is not true when we introduce more multi-process emulation. A TODO is left there for this, as more RE needs to be done on how 3DS handles this situation |
||
---|---|---|
.. | ||
applets | ||
kernel | ||
service | ||
ipc_helpers.h | ||
ipc.h | ||
lock.cpp | ||
lock.h | ||
result.h | ||
romfs.cpp | ||
romfs.h |