Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upbpo-39198: Ensure logging global lock is released on exception in isEnabledFor #17689
Conversation
This comment has been minimized.
This comment has been minimized.
the-knights-who-say-ni
commented
Dec 24, 2019
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). Recognized GitHub usernameWe couldn't find a bugs.python.org (b.p.o) account corresponding to the following GitHub usernames: This might be simply due to a missing "GitHub Name" entry in one's b.p.o account settings. This is necessary for legal reasons before we can look at this contribution. Please follow the steps outlined in the CPython devguide to rectify this issue. You can check yourself to see if the CLA has been received. Thanks again for the contribution, we look forward to reviewing it! |
53e9f6b
to
9509cc9
9509cc9
to
d9dbc31
d9dbc31
to
7b778d6
This comment has been minimized.
This comment has been minimized.
I just signed CLA. |
This comment has been minimized.
This comment has been minimized.
Hi @DerekTBrown, thank you for your contribution and for helping to improve CPython. Please open an issue on bugs.python.org and update the title of the PR with the ticket number. Trivial changes are for things like one word spelling changes and anything more than that should have a bug ticket. Thank you! |
This comment has been minimized.
This comment has been minimized.
Thanks @csabella! I filed a BPO and created a news entry as well. Let me know if I need to make changes to the content in either of those places. |
This comment has been minimized.
This comment has been minimized.
I feel like nesting a try won't actually pose an issue, it'll be faster and frankly enough more readable I believe. |
I would also prefer to not add the extra method but handle with a nested |
This comment has been minimized.
This comment has been minimized.
bedevere-bot
commented
Jan 6, 2020
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase |
This comment has been minimized.
This comment has been minimized.
I have made the requested changes; please review again. Given comments, I made a simpler change and just wrapped setting the level in a |
This comment has been minimized.
This comment has been minimized.
bedevere-bot
commented
Jan 6, 2020
Thanks for making the requested changes! @vsajip: please review the changes made to this pull request. |
950c679
into
python:master
This comment has been minimized.
This comment has been minimized.
miss-islington
commented
Jan 7, 2020
Thanks @DerekTBrown for the PR, and @vsajip for merging it |
…nabledFor (pythonGH-17689) (cherry picked from commit 950c679) Co-authored-by: Derek Brown <derek@allderek.com>
This comment has been minimized.
This comment has been minimized.
bedevere-bot
commented
Jan 7, 2020
GH-17897 is a backport of this pull request to the 3.8 branch. |
This comment has been minimized.
This comment has been minimized.
miss-islington
commented
Jan 7, 2020
Thanks @DerekTBrown for the PR, and @vsajip for merging it |
…nabledFor (pythonGH-17689) (cherry picked from commit 950c679) Co-authored-by: Derek Brown <derek@allderek.com>
This comment has been minimized.
This comment has been minimized.
bedevere-bot
commented
Jan 7, 2020
GH-17898 is a backport of this pull request to the 3.7 branch. |
DerekTBrown commentedDec 24, 2019
•
edited by bedevere-bot
This is a relatively small change which makes it easier to reason about the global
_acquireLock()
behavior inside ofisEnabledFor
:_releaseLock
inside of afinally
block, ensuring that the lock is released even if exceptions are thrown (Example). This diff's primary goal is to ensure_releaseLock
is called inside a finally block.isEnabledFor
, because we no longer need to assert than no exceptions are thrown in order for the lock to be released.stopit
, this ensures the lock is released even if exceptions are injected.try
statements are stylistically bad. Instead, create a helper function to contain the uncached behavior of determining if a logger is enabled for a particular status.https://bugs.python.org/issue39198