-
-
Notifications
You must be signed in to change notification settings - Fork 32k
bpo-44188: Fix ThreadPoolExecutor unbalanced semaphore count #26265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Hello, and thanks for your contribution! I'm a bot set up to make sure that the project can legally accept this contribution by verifying everyone involved has signed the PSF contributor agreement (CLA). CLA MissingOur records indicate the following people have not signed the CLA: For legal reasons we need all the people listed to sign the CLA before we can look at your contribution. Please follow the steps outlined in the CPython devguide to rectify this issue. If you have recently signed the CLA, please wait at least one business day You can check yourself to see if the CLA has been received. Thanks again for the contribution, we look forward to reviewing it! |
First time contributing to python - please point out if I'm doing anything wrong. |
This probably needs to go back to older versions all the way to 3.8 too - please advise on proper process for this if you would like me to do it. |
Previously when the worker pool was over-saturated, the idle count would increment after each completed job whereas it would only decrement when it was already greater than 0.
bc675bf
to
781198c
Compare
@pitrou: I know that you are a big fan of threads, would you mind to have a look? |
This PR is stale because it has been open for 30 days with no activity. |
Thank you @bennieswart . I've changed the implementation to use a Lock and an integer attribute, as the Semaphore was used as a regular counter. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks ok to me.
Previously when the worker pool was over-saturated, the idle count would
increment after each completed job whereas it would only decrement when
it was already greater than 0.
https://bugs.python.org/issue44188