| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
This looks correct to me. Setting flags means that caches based on the type version should be invalidated. You can't call type_modified_unlocked() with the world stopped, since it is re-entrant. So you need the tricky process of acquiring type lock, ensuring it stays locked on stop-the-world. Minor improvement suggestion: I would adjust the comment to explain that ideally the setting of flags and clearing (invalidation) of version would be done in one step. However, because the version invalidation must be done with the world not stopped, we need to do these two steps. Regarding the 3.13 backport: the code is different in that version, there is no stop-the-world done. With 3.13, there are data races on on tp_flags (since they are read without a lock and without atomics). For the backport, you would just not worry about that and call type_modified_unlocked() while holding the type lock. |
Sorry, something went wrong.
|
Thanks for the review! For the backup to 3.13, since automatic backups aren't working, should I create a new PR to fix this issue? |
Sorry, something went wrong.
I'm not a pro on cpython github mechanics but I think making a new PR is fine. If you look at an auto backported PR, you can see the structure of the title. Should refer to the original PR number. |
Sorry, something went wrong.
|
(Keep the label just for triaging and history) |
Sorry, something went wrong.
|
The good looks good in principle, but I'm not too familiar with the FT locking mechanisms. |
Sorry, something went wrong.
|
Thanks @cocolato for the PR, and @kumaraditya303 for merging it 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14. |
Sorry, something went wrong.
|
Sorry, @cocolato and @kumaraditya303, I could not cleanly backport this to 3.14 due to a conflict. cherry_picker e7eaed56149aa08f7fd5012784cc1deef8e483de 3.14 |
Sorry, something went wrong.
|
Sorry, @cocolato and @kumaraditya303, I could not cleanly backport this to 3.13 due to a conflict. cherry_picker e7eaed56149aa08f7fd5012784cc1deef8e483de 3.13 |
Sorry, something went wrong.
|
Thanks @cocolato for the PR, and @kumaraditya303 for merging it 🌮🎉.. I'm working now to backport this PR to: 3.15. |
Sorry, something went wrong.
|
GH-150300 is a backport of this pull request to the 3.15 branch. |
Sorry, something went wrong.
|
GH-150308 is a backport of this pull request to the 3.14 branch. |
Sorry, something went wrong.
|
Please don't forget about backports. |
Sorry, something went wrong.
Thanks for the reminder! I've already done the backports. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.