[3.6] bpo-30595: Fix multiprocessing.Queue.get(timeout) (#2027) (#288… · python/cpython@ec9a712 (original) (raw)
Navigation Menu
- GitHub Copilot Write better code with AI
- GitHub Models New Manage and compare prompts
- GitHub Advanced Security Find and fix vulnerabilities
- Actions Automate any workflow
- Codespaces Instant dev environments
- Issues Plan and track work
- Code Review Manage code changes
- Discussions Collaborate outside of code
- Code Search Find more, search less
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Appearance settings
Commit ec9a712
* bpo-30595: Fix multiprocessing.Queue.get(timeout) (#2027) multiprocessing.Queue.get() with a timeout now polls its reader in non-blocking mode if it succeeded to aquire the lock but the acquire took longer than the timeout. Co-Authored-By: Grzegorz Grzywacz grzgrzgrz3@gmail.com (cherry picked from commit 1b7863c) * bpo-30595: Increase test_queue_feeder_donot_stop_onexc() timeout (#2148) _test_multiprocessing.test_queue_feeder_donot_stop_onexc() now uses a timeout of 1 second on Queue.get(), instead of 0.1 second, for slow buildbots. (cherry picked from commit 8f6eeaf) (cherry picked from commit e42339d)
File tree
2 files changed
lines changed
2 files changed
lines changed
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -128,7 +128,7 @@ def get(self, block=True, timeout=None): | ||
128 | 128 | try: |
129 | 129 | if block: |
130 | 130 | timeout = deadline - time.time() |
131 | -if timeout < 0 or not self._poll(timeout): | |
131 | +if not self._poll(timeout): | |
132 | 132 | raise Empty |
133 | 133 | elif not self._poll(): |
134 | 134 | raise Empty |
Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
1 | +multiprocessing.Queue.get() with a timeout now polls its reader in non- | |
2 | +blocking mode if it succeeded to aquire the lock but the acquire took longer | |
3 | +than the timeout. |