From 8f4c5b2c7ea83e5a65002f1cf133cfd4cd81e433 Mon Sep 17 00:00:00 2001 From: Dominik Pfennig <dominik@suma-ev.de> Date: Fri, 9 Sep 2016 08:55:38 +0200 Subject: [PATCH] =?UTF-8?q?Bug=20behoben=20bei=20dem=20versucht=20wurde=20?= =?UTF-8?q?einen=20nicht=20vorhandenen=20Stream=20zu=20schlie=C3=9Fen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Jobs/Search.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/Jobs/Search.php b/app/Jobs/Search.php index 18541f20d..af520e6e2 100644 --- a/app/Jobs/Search.php +++ b/app/Jobs/Search.php @@ -73,7 +73,6 @@ class Search extends Job implements ShouldQueue if (sizeof(($tmp = explode(": ", $data))) === 2) { $headers[strtolower(trim($tmp[0]))] = trim($tmp[1]); } - $c++; } while (true); @@ -230,7 +229,7 @@ class Search extends Job implements ShouldQueue $timeElapsed = microtime(true) - $time; if ($timeElapsed > 0.5) { # Irgendwas ist mit unserem Socket passiert. Wir brauchen einen neuen: - if ($this->fp) { + if ($this->fp && is_resource($this->fp)) { fclose($this->fp); } @@ -244,10 +243,8 @@ class Search extends Job implements ShouldQueue $tmp = fwrite($this->fp, $string); } catch (\ErrorException $e) { # Irgendwas ist mit unserem Socket passiert. Wir brauchen einen neuen: - try { + if ($this->fp && is_resource($this->fp)) { fclose($this->fp); - } catch (\ErrorException $e) { - } Redis::del($this->name . "." . $this->socketNumber); @@ -266,9 +263,11 @@ class Search extends Job implements ShouldQueue } } + if ($sent === strlen($out)) { return true; } + return false; } @@ -283,6 +282,7 @@ class Search extends Job implements ShouldQueue # 1. Stelle fest, ob dieser Socket neu erstellt wurde, oder ob ein existierender geöffnet wurde. $counter = 0; $fp = null; + $time = microtime(true); do { if (intval(Redis::exists($this->host . ".$counter")) === 0) { @@ -300,7 +300,10 @@ class Search extends Job implements ShouldQueue stream_set_blocking($fp, 0); $string = fgets($fp, 8192); if ($string !== false || feof($fp)) { - fclose($fp); + if ($this->fp && is_resource($this->fp)) { + fclose($fp); + } + continue; } break; -- GitLab