[Python-Dev] PEP 298, final (?) version
Guido van Rossum
Fri, 02 Aug 2002 10:19:53 -0400
> > > void PyObject_ReleaseFixedBuffer(PyObject *obj);
> > Would it be useful to allow bf_releasefixedbuffer to return an int
> > indicating an exception? For instance, it could raise an exception if the
> > extension errantly releases more times than it has acquired
> The code making the call might not be in an easy position
> to deal with an exception -- e.g. an asynchronous I/O
> routine called from a signal handler, another thread,
> Maybe use the warning mechanism to produce a message?
In an asynch I/O situation, calling PyErr_Warn() is out of the
question (it invokes Python code!).
I propose to make it a fatal error -- after all the only reason why
bf_releasefixedbuffer could fail should be that the caller makes a
mistake. Since that's a bug in C code, a fatail error is acceptable.
--Guido van Rossum (home page: http://www.python.org/~guido/)