Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 0c77296

Browse filesBrowse files
bug #33985 [HttpClient] workaround curl_multi_select() issue (nicolas-grekas)
This PR was merged into the 4.3 branch. Discussion ---------- [HttpClient] workaround curl_multi_select() issue | Q | A | ------------- | --- | Branch? | 4.3 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | - 1) Symfony\Component\HttpClient\Tests\CurlHttpClientTest::testNotATimeout Symfony\Component\HttpClient\Exception\TransportException: Reading from the response stream reached the idle timeout. Commits ------- e635491 [HttpClient] workaround curl_multi_select() issue
2 parents 927ae8a + e635491 commit 0c77296
Copy full SHA for 0c77296

File tree

3 files changed

+7
-3
lines changed
Filter options

3 files changed

+7
-3
lines changed

‎.appveyor.yml

Copy file name to clipboardExpand all lines: .appveyor.yml
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ install:
4848
- php composer.phar global require --no-progress --no-scripts --no-plugins symfony/flex dev-master
4949
- git config --global user.email ""
5050
- git config --global user.name "Symfony"
51-
- php .github/build-packages.php "HEAD^" src\Symfony\Bridge\PhpUnit
5251
- php .github/build-packages.php "HEAD^" src\Symfony\Bridge\PhpUnit src\Symfony\Contracts
5352
- IF %APPVEYOR_REPO_BRANCH%==master (SET COMPOSER_ROOT_VERSION=dev-master) ELSE (SET COMPOSER_ROOT_VERSION=%APPVEYOR_REPO_BRANCH%.x-dev)
5453
- php composer.phar update --no-progress --no-suggest --ansi

‎src/Symfony/Component/HttpClient/Response/CurlResponse.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/HttpClient/Response/CurlResponse.php
+5Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,11 @@ private static function perform(CurlClientState $multi, array &$responses = null
274274
*/
275275
private static function select(CurlClientState $multi, float $timeout): int
276276
{
277+
if (\PHP_VERSION_ID < 70123 || (70200 <= \PHP_VERSION_ID && \PHP_VERSION_ID < 70211)) {
278+
// workaround https://bugs.php.net/76480
279+
$timeout = min($timeout, 0.01);
280+
}
281+
277282
return curl_multi_select($multi->handle, $timeout);
278283
}
279284

‎src/Symfony/Contracts/HttpClient/Test/HttpClientTestCase.php

Copy file name to clipboardExpand all lines: src/Symfony/Contracts/HttpClient/Test/HttpClientTestCase.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -597,9 +597,9 @@ public function testNotATimeout()
597597
{
598598
$client = $this->getHttpClient(__FUNCTION__);
599599
$response = $client->request('GET', 'http://localhost:8057/timeout-header', [
600-
'timeout' => 0.5,
600+
'timeout' => 0.9,
601601
]);
602-
usleep(510000);
602+
sleep(1);
603603
$this->assertSame(200, $response->getStatusCode());
604604
}
605605

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.