From 50201d63c2095bb5fa36d6237789d849e4b46f2a Mon Sep 17 00:00:00 2001 From: pascal-fischer <32096965+pascal-fischer@users.noreply.github.com> Date: Fri, 17 May 2024 15:58:29 +0200 Subject: [PATCH] Increase garbage collection on ios (#1981) --- client/internal/connect.go | 3 +++ client/internal/peer/conn.go | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/client/internal/connect.go b/client/internal/connect.go index eb84940dc..83909dfdd 100644 --- a/client/internal/connect.go +++ b/client/internal/connect.go @@ -91,6 +91,9 @@ func (c *ConnectClient) RunOniOS( networkChangeListener listener.NetworkChangeListener, dnsManager dns.IosDnsManager, ) error { + // Set GC percent to 5% to reduce memory usage as iOS only allows 50MB of memory for the extension. + debug.SetGCPercent(5) + mobileDependency := MobileDependency{ FileDescriptor: fileDescriptor, NetworkChangeListener: networkChangeListener, diff --git a/client/internal/peer/conn.go b/client/internal/peer/conn.go index 1ee8cdd79..3c4cfb13a 100644 --- a/client/internal/peer/conn.go +++ b/client/internal/peer/conn.go @@ -487,6 +487,10 @@ func (conn *Conn) configureConnection(remoteConn net.Conn, remoteWgPort int, rem return nil, err } + if runtime.GOOS == "ios" { + runtime.GC() + } + if conn.onConnected != nil { conn.onConnected(conn.config.Key, remoteRosenpassPubKey, ipNet.IP.String(), remoteRosenpassAddr) }