Potential Windows-specific lost event race in the implementation of time.sleep
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug description:
In the Windows-specific implementation of time.sleep there appears this code:
If a control-C event happens after PyErr_CheckSignals returns, but before ResetEvent is called, I believe that event may be lost.
This is probably a hard race window to hit, and I don't have a Windows development environment, so I have not confirmed that it is possible.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Windows
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 der Windows-spezifischen time.sleep-Implementierung in Modules/timemodule.c an den verlinkten Zeilen und untersuche anschließend die Reihenfolge von PyErr_CheckSignals und ResetEvent. Untersuche, ob in diesem Zeitfenster unter Windows ein control-C-Ereignis auftreten kann; als abgeschlossen gilt die Aufgabe, wenn die Race Condition mit dem verlorenen Ereignis bestätigt oder widerlegt wurde und das Verhalten, falls zutreffend, dokumentiert oder korrigiert und durch Tests abgedeckt wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- operating-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100