[Python-3000] Single buffer implied in new buffer protocol?

Travis Oliphant oliphant.travis at ieee.org
Fri May 30 10:21:59 CEST 2008


Stefan Behnel wrote:
> Travis Oliphant wrote:
>> Stefan Behnel wrote:
>>> Anyway, my point is that this part of the protocol actually implies
>>> setting a
>>> lock on the buffer *provider* rather than the buffer itself, as the
>>> buffer
>>> provider cannot distinguish between different buffers based on a NULL
>>> pointer
>> Yes, the language in the PEP could be more clear. Obviously, if you
>> haven't provided a Py_buffer structure to fill in, then you are only
>> asking to lock the object's buffer from other access.
>> That's what I'm questioning below.
>
I see what you are referring to. The protocol to lock the buffer after 
requesting and obtaining one was not well thought out. I think the use 
case I had in mind was locking in the buffer before actually getting it.
Once you have a buffer, I see how you may want to lock the buffer after 
getting it. For example, I could see how you may want to go from a 
non-locked read/write where you are guaranteed by the object that it 
won't move the memory but not that someone hasn't written to the memory 
area to an exclusive write-lock where no-one else can write to the area 
until you are done.
This should be clarified in the PEP. Can you take a stab at it?
-Travis


More information about the Python-3000 mailing list

AltStyle によって変換されたページ (->オリジナル) /