From 2ddd3dd4a7e03aa14626d3f4336d20b904ef4c3a Mon Sep 17 00:00:00 2001
From: gdkchan <gab.dark.100@gmail.com>
Date: Thu, 11 Apr 2024 09:56:21 -0300
Subject: [PATCH] Allow BSD sockets Poll to exit when emulation ends (#6650)

---
 src/Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs b/src/Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs
index 1e8a900512..21d48288ec 100644
--- a/src/Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs
@@ -440,8 +440,9 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
 
                     // If we are here, that mean nothing was available, sleep for 50ms
                     context.Device.System.KernelContext.Syscall.SleepThread(50 * 1000000);
+                    context.Thread.HandlePostSyscall();
                 }
-                while (PerformanceCounter.ElapsedMilliseconds < budgetLeftMilliseconds);
+                while (context.Thread.Context.Running && PerformanceCounter.ElapsedMilliseconds < budgetLeftMilliseconds);
             }
             else if (timeout == -1)
             {