ryujinx/src
jhorv 21e88f17f6
ServerBase thread safety (#4577)
* Add guard against ServerBase.Dispose() being called multiple times. Add reset event to avoid Dispose() being called while the ServerLoop is still running.

* remove unused usings

* rework ServerBase to use one collection each for sessions and ports, and make all accesses thread-safe.

* fix Logger call

* use GetSessionObj(int) instead of using _sessions directly

* move _threadStopped check inside "dispose once" test

* - Replace _threadStopped event with attempt to Join() the ending thread (if that isn't the current thread) instead.

- Use the instance-local _selfProcess and (new) _selfThread variables to avoid suggesting that the current KProcess and KThread could change. Per gdkchan, they can't currently, and this old IPC system will be removed before that changes.

- Re-order Dispose() so that the Interlocked _isDisposed check is the last check before disposing, to increase the likelihood that multiple callers will result in one of them succeeding.

* code style suggestions per AcK77

* add infinite wait for thread termination
2023-05-21 21:28:51 +02:00
..
ARMeilleure Ensure background translation threads exited before disposing JIT (#4874) 2023-05-10 21:46:38 -03:00
Ryujinx [GUI] Fix always hide cursor mode not hiding the cursor until it was moved (#4927) 2023-05-14 16:34:31 +02:00
Ryujinx.Audio audio: sdl2: Do not report 5.1 if the device doesn't support it (#4908) 2023-05-13 07:15:16 +00:00
Ryujinx.Audio.Backends.OpenAL Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Audio.Backends.SDL2 audio: sdl2: Do not report 5.1 if the device doesn't support it (#4908) 2023-05-13 07:15:16 +00:00
Ryujinx.Audio.Backends.SoundIo Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Ava ava: Fix crash when extracting sections from NCA with no data section (#5002) 2023-05-17 19:27:49 +00:00
Ryujinx.Common Add hide-cursor command line argument & always hide cursor option (#4613) 2023-05-02 03:29:47 +02:00
Ryujinx.Cpu GPU: Remove CPU region handle containers (#4817) 2023-05-05 23:40:46 +02:00
Ryujinx.Graphics.Device Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.GAL Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
Ryujinx.Graphics.Gpu Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
Ryujinx.Graphics.Host1x Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Nvdec Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Nvdec.FFmpeg Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Nvdec.Vp9 Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.OpenGL Set OpenGL PixelPackBuffer to 0 when done (#4921) 2023-05-13 00:59:46 +00:00
Ryujinx.Graphics.Shader Replace constant buffer access on shader with new Load instruction (#4646) 2023-05-20 16:19:26 -03:00
Ryujinx.Graphics.Texture Fix incorrect ASTC endpoint color when using LuminanceDelta mode (#4890) 2023-05-11 20:47:55 +02:00
Ryujinx.Graphics.Vic Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Video Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Vulkan Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
Ryujinx.Headless.SDL2 vulkan: Pass Vk instance to VulkanRenderer (#4859) 2023-05-08 13:05:37 +02:00
Ryujinx.HLE ServerBase thread safety (#4577) 2023-05-21 21:28:51 +02:00
Ryujinx.Horizon Fix missing domain service object dispose (#4879) 2023-05-11 00:29:17 +00:00
Ryujinx.Horizon.Common Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Horizon.Generators IPC - Refactor Bcat service to use new ipc - Revisit (#4803) 2023-05-09 21:46:23 +00:00
Ryujinx.Horizon.Kernel.Generators Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Input Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Input.SDL2 Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Memory GPU: Remove CPU region handle containers (#4817) 2023-05-05 23:40:46 +02:00
Ryujinx.SDL2.Common Stop SDL from inhibiting sleep. (#4842) 2023-05-11 20:13:01 +02:00
Ryujinx.ShaderTools Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Tests Adjust Ryujinx.Tests.Memory namespace 2023-04-27 23:51:14 +02:00
Ryujinx.Tests.Memory Adjust Ryujinx.Tests.Memory namespace 2023-04-27 23:51:14 +02:00
Ryujinx.Tests.Unicorn Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Ui.Common Changed LastPlayed field from string to nullable DateTime (#4861) 2023-05-12 01:56:37 +02:00
Ryujinx.Ui.LocaleGenerator Move solution and projects to src 2023-04-27 23:51:14 +02:00
Spv.Generator Move solution and projects to src 2023-04-27 23:51:14 +02:00