Message139751
| Author |
pv |
| Recipients |
jcon, kermode, mark.dickinson, ncoghlan, petri.lehtinen, pitrou, pv, rupole, skrah, teoliphant, vstinner |
| Date |
2011年07月04日.10:59:06 |
| SpamBayes Score |
0.0057721958 |
| Marked as misclassified |
No |
| Message-id |
<1309777147.03.0.276482872267.issue10181@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
@skrah:
Yes, Numpy exposes only a single buffer per object. Making this a requirement in the PEP would probably be a sane change, as there is probably little real-world need to allow it behave otherwise.
Comment on the patch: it seems you do not track the re-export count in memory_getbuf:
a = memoryview(obj)
b = numpy.asarray(a)
a.release()
b[0] = 123 # <-- BOOM: the buffer was already released
Could be fixed by Py_INCREF(self->mbuf) in getbuffer and DECREF in releasebuffer. In this design, the only choice is to make the `release()` call to fail. (I had some code for n-dim slicing etc. in my first patch that could be useful to have too; I'll see if I find time to dig them out here.) |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2011年07月04日 10:59:07 | pv | set | recipients:
+ pv, teoliphant, mark.dickinson, ncoghlan, rupole, kermode, pitrou, vstinner, skrah, jcon, petri.lehtinen |
| 2011年07月04日 10:59:07 | pv | set | messageid: <1309777147.03.0.276482872267.issue10181@psf.upfronthosting.co.za> |
| 2011年07月04日 10:59:06 | pv | link | issue10181 messages |
| 2011年07月04日 10:59:06 | pv | create |
|