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 up[easy] Move _releaseLock() into `finally` #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. |
DerekTBrown commentedDec 24, 2019
•
edited
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.