php_network_connect_socket() in synchronous mode doesn't correctly handle EINPROGRESS
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
Hey!
I think I tracked a PHPRedis issue where it very sporadically throws a "Operation is in progress" exception on connect to a bug in the php_network_connect_socket() function. The problem is that it doesn't clear an earlier occurring EINPROGRESS error, which will then get returned while it checks for select() errors.
https://github.com/php/php-src/pull/13252 for a possible fix.
Regards,
Maurits
PHP Version
PHP 8.3.1
Operating System
Ubuntu 20.04
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem Lesen der Implementierung von php_network_connect_socket() und des vorgeschlagenen Fixes in PR 13252. Reproduziere den für PHP 8.3.1 auf Ubuntu 20.04 beschriebenen synchronen Verbindungsfall und überprüfe anschließend, dass eine erfolgreiche Verbindung nicht mehr die Ausnahme "Operation is in progress" meldet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, php
- Bereich
- backend, networking
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100