gh-132070: Use _PyObject_IsUniquelyReferenced in unicodeobject#133039
gh-132070: Use _PyObject_IsUniquelyReferenced in unicodeobject#133039corona10 merged 4 commits intopython:mainfrom
Conversation
|
@kumaraditya303 @colesbury |
Co-authored-by: Serhiy Storchaka <[email protected]>
colesbury
left a comment
There was a problem hiding this comment.
I looked into the case that requires resize_copy: We have an io.StringIO, which is used first by one thread and then by a second thread. (It's not used by two threads simultaneously). The io.StringIO has the only reference to a PyUnicodeWriter, which in turn has the only reference to unicode object that is treated as a buffer.
The _PyObject_IsUniquelyReferenced() check is too conservative in this case because the unicode object is owned by a different thread. The unicode object is actually safe to modify, we just can't tell that from _PyObject_IsUniquelyReferenced().
|
Thanks @corona10 for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13. |
…ythongh-133039) --------- (cherry picked from commit 75cbb8d) Co-authored-by: Donghee Na <[email protected]> Co-authored-by: Kumar Aditya <[email protected]> Co-authored-by: Serhiy Storchaka <[email protected]>
|
GH-133121 is a backport of this pull request to the 3.13 branch. |
|
GH-133126 is a backport of this pull request to the 3.13 branch. |
…gh-133039) (gh-133126) * gh-132070: Use _PyObject_IsUniquelyReferenced in unicodeobject (gh-133039) --------- (cherry picked from commit 75cbb8d) Co-authored-by: Donghee Na <[email protected]> Co-authored-by: Kumar Aditya <[email protected]> Co-authored-by: Serhiy Storchaka <[email protected]> * Add _PyObject_IsUniquelyReferenced --------- Co-authored-by: Kumar Aditya <[email protected]> Co-authored-by: Serhiy Storchaka <[email protected]>
Uh oh!
There was an error while loading. Please reload this page.