From d835f9df3d576ab9c32192720756e4fda83019a3 Mon Sep 17 00:00:00 2001 From: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com> Date: Tue, 19 Mar 2024 13:44:30 +0200 Subject: [PATCH] ios: remove recursion in receiveMsgLoop (#3922) * ios: remove recursion in receiveMsgLoop * comment --------- Co-authored-by: Evgeny Poberezkin --- apps/ios/Shared/Model/SimpleXAPI.swift | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/apps/ios/Shared/Model/SimpleXAPI.swift b/apps/ios/Shared/Model/SimpleXAPI.swift index 7318a54e92..365f23c33e 100644 --- a/apps/ios/Shared/Model/SimpleXAPI.swift +++ b/apps/ios/Shared/Model/SimpleXAPI.swift @@ -1473,14 +1473,12 @@ class ChatReceiver { } func receiveMsgLoop() async { - // TODO use function that has timeout - if let msg = await chatRecvMsg() { - self._lastMsgTime = .now - await processReceivedMsg(msg) - } - if self.receiveMessages { + while self.receiveMessages { + if let msg = await chatRecvMsg() { + self._lastMsgTime = .now + await processReceivedMsg(msg) + } _ = try? await Task.sleep(nanoseconds: 7_500_000) - await receiveMsgLoop() } }