From 54227b1d867cd95a6869bbb485e15f2c66cc7779 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Sat, 8 Jun 2013 13:43:47 +0200 Subject: [PATCH] Possible memory leak fix --- src/Player.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Player.php b/src/Player.php index 73f2ab583c..9a05a2447f 100644 --- a/src/Player.php +++ b/src/Player.php @@ -833,7 +833,8 @@ class Player{ if(isset($this->recovery[$count])){ $this->lag[] = microtime(true) - $this->recovery[$count]["sendtime"]; $this->directDataPacket($this->recovery[$count]["id"], $this->recovery[$count], $this->recovery[$count]["pid"]); - ++$this->packetStats[1]; + ++$this->packetStats[1]; + $this->recovery[$count] = null; unset($this->recovery[$count]); } } @@ -845,6 +846,7 @@ class Player{ } if(isset($this->recovery[$count])){ $this->lag[] = microtime(true) - $this->recovery[$count]["sendtime"]; + $this->recovery[$count] = null; unset($this->recovery[$count]); } } @@ -854,7 +856,8 @@ class Player{ if($diff > 16 and $d["sendtime"] < $limit){ $this->lag[] = microtime(true) - $d["sendtime"]; $this->directDataPacket($d["id"], $d, $d["pid"]); - ++$this->packetStats[1]; + ++$this->packetStats[1]; + $this->recovery[$count] = null; unset($this->recovery[$count]); } } @@ -1676,6 +1679,8 @@ class Player{ if(count($this->recovery) >= PLAYER_RECOVERY_BUFFER){ reset($this->recovery); $k = key($this->recovery); + $this->recovery[$k] = null; + unset($this->recovery[$k]); unset($this->recovery[$k]); end($this->recovery); } @@ -1700,6 +1705,7 @@ class Player{ if(count($this->recovery) >= PLAYER_RECOVERY_BUFFER){ reset($this->recovery); $k = key($this->recovery); + $this->recovery[$k] = null; unset($this->recovery[$k]); end($this->recovery); }