Message263114
On further thought, I think releasing the buffer would not be the best long-term solution. I encountered this bug when wrapping custom AuditableBytesIO objects (Lib/test/test_httpservers.py) with BufferedWriter, where the raw object just saves each write() buffer in a list for later use.
Serhiy: what you say sounds like what I had in mind, except I suspect it doesn’t matter whether the memoryview is backed by a bytes object or something else. The main point is we allocate a new buffer if the old one is still referenced by the memoryview.
It seems this problem has already been discovered, along with BufferedReader and PyUnicode_Decode(): <https://bugs.python.org/issue15903#msg170642>. The BufferedReader case can have more serious consequences because it is writable (Issue 15994). |
|
Date |
User |
Action |
Args |
2016-04-09 22:11:44 | martin.panter | set | recipients:
+ martin.panter, pitrou, benjamin.peterson, stutzbach, serhiy.storchaka |
2016-04-09 22:11:44 | martin.panter | set | messageid: <1460239904.08.0.482811064163.issue26720@psf.upfronthosting.co.za> |
2016-04-09 22:11:44 | martin.panter | link | issue26720 messages |
2016-04-09 22:11:43 | martin.panter | create | |
|