-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LV2: Memory state post-exitspawn fixes #12001
Conversation
rpcs3/Emu/Cell/lv2/sys_process.cpp
Outdated
@@ -415,6 +415,27 @@ void _sys_process_exit2(ppu_thread& ppu, s32 status, vm::ptr<sys_exit2_param> ar | |||
, hdd1 = std::move(hdd1), klic = g_fxo->get<loaded_npdrm_keys>().last_key(), old_config = Emu.GetUsedConfig()]() mutable | |||
{ | |||
sys_process.success("Process finished -> %s", argv[0]); | |||
|
|||
Emu.init_mem_containers = [old_size = g_fxo->get<lv2_memory_container>().size, vec = g_fxo->get<id_manager::id_map<lv2_memory_container>>().vec](u32 sdk_suggested_mem) mutable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing std::move?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is before Kill, the emulation threads still need IDM state to remain usable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I forgot a reader lock though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
I wonder what's the point of inheriting containers. Maybe spawned process actually inherits the shared memory data (not mapped). |
* Fix memory capacity if SDK version of the following executable differs from the original process'. * Keep user memory containers, they are not freed at exitspawn! Hw test elad335/myps3tests@4bf6002
I don't know if this PR done this, but GoW3 now crashes after about 2~3 minutes of gameplay with this error: |
Hw test elad335/myps3tests@4bf6002