This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2007年08月27日 07:42 by gregory.p.smith, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| bytes-readlock-via-lockdata-gps02.patch.txt | gregory.p.smith, 2007年09月12日 06:57 | |||
| Messages (7) | |||
|---|---|---|---|
| msg55333 - (view) | Author: Gregory P. Smith (gregory.p.smith) * (Python committer) | Date: 2007年08月27日 07:42 | |
I've converted _bsddb.c to use the py3k buffer API for all data and keys it takes as input. All tests now fail with this error: BufferError: Cannot make this object read-only. This presumably results from this call: PyObject_GetBuffer(obj, view, PyBUF_LOCKDATA) I need to lock the data so that the GIL can be released during database operations (I/O). Allowing bytes objects to have an immutability or readonly bit (internal or otherwise) has been a recent topic on the python-3000 mailing list; that would allow bytes' buffer API to satisfy this GetBuffer LOCKDATA request... |
|||
| msg55456 - (view) | Author: Gregory P. Smith (gregory.p.smith) * (Python committer) | Date: 2007年08月30日 03:11 | |
I sent an initial patch to the mailing list. Its too late to be ready for 3.0a1; I'll fix it up next week. |
|||
| msg55838 - (view) | Author: Gregory P. Smith (gregory.p.smith) * (Python committer) | Date: 2007年09月12日 06:57 | |
Attaching the most recent patch (minor update from the second one i sent to the python-3000 mailing list to initialize ob_readonly_exports = 0 in the appropriate places). Current mailing list discussion is pointing out that the name LOCKDATA means something other than what the existing pep3118 description implies and that we may want to modify the pep to support more obviously named things such as READ_LOCK, and EXCLUSIVE or similar... here's a link to the current thread: http://mail.python.org/pipermail/python-3000/2007-September/010325.html |
|||
| msg56260 - (view) | Author: Brett Cannon (brett.cannon) * (Python committer) | Date: 2007年10月07日 23:23 | |
All the tests pass for me, Gregory. Were the failures with some patch you had only locally? |
|||
| msg56263 - (view) | Author: Gregory P. Smith (gregory.p.smith) * (Python committer) | Date: 2007年10月08日 02:56 | |
This bug will be taken care of by PEP 3137 http://python.org/dev/peps/pep-3137/ being implemented. Anyways, no the _bsddb.c changes that I checked in do not cause a problem because I checked them in using PyBUF_SIMPLE. Until PEP 3137 is implemented the possibility of hidden data corruption due to mutable bytes objects being modified while an IO library that releases the GIL is using them remains. Feel free to close this bug in favor of something that just tracks the PEP being implemented. |
|||
| msg56264 - (view) | Author: Brett Cannon (brett.cannon) * (Python committer) | Date: 2007年10月08日 03:46 | |
On 10/7/07, Gregory P. Smith <report@bugs.python.org> wrote: [SNIP] > Feel free to close this bug in favor of something that just tracks the > PEP being implemented. Eh, it can stay open as a reminder to double-check everything is fine once PEP 3137 goes in. It's really up to you since the bugs is assigned to you. =) |
|||
| msg60168 - (view) | Author: Christian Heimes (christian.heimes) * (Python committer) | Date: 2008年01月19日 14:21 | |
*ping* Can this issue be closed? |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:26 | admin | set | github: 45376 |
| 2008年01月19日 18:43:03 | gregory.p.smith | set | status: pending -> closed |
| 2008年01月19日 14:21:52 | christian.heimes | set | status: open -> pending nosy: + christian.heimes resolution: fixed messages: + msg60168 |
| 2008年01月06日 22:29:45 | admin | set | keywords:
- py3k versions: Python 3.0 |
| 2007年10月08日 03:46:41 | brett.cannon | set | messages: + msg56264 |
| 2007年10月08日 02:56:38 | gregory.p.smith | set | messages: + msg56263 |
| 2007年10月07日 23:23:02 | brett.cannon | set | priority: normal nosy: + brett.cannon messages: + msg56260 |
| 2007年09月12日 06:57:35 | gregory.p.smith | set | keywords:
+ patch files: + bytes-readlock-via-lockdata-gps02.patch.txt messages: + msg55838 title: bytes buffer API needs to support PyBUF_LOCKDATA -> bytes buffer API needs to support read locking and/or PyBUF_LOCKDATA |
| 2007年08月30日 03:11:22 | gregory.p.smith | set | assignee: gregory.p.smith messages: + msg55456 |
| 2007年08月27日 07:48:19 | gregory.p.smith | set | priority: normal -> (no value) |
| 2007年08月27日 07:42:48 | gregory.p.smith | create | |