Commit 73a10271 authored by Jim Fulton's avatar Jim Fulton

Fixed error propigation from aq_acquire in InstanceDict.

parent 31e051db
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
static char cDocumentTemplate_module_documentation[] = static char cDocumentTemplate_module_documentation[] =
"" ""
"\n$Id: cDocumentTemplate.c,v 1.9 1997/12/18 17:48:46 jim Exp $" "\n$Id: cDocumentTemplate.c,v 1.10 1998/03/26 21:55:40 jim Exp $"
; ;
#include "ExtensionClass.h" #include "ExtensionClass.h"
...@@ -115,7 +115,21 @@ InstanceDict_subscript( InstanceDictobject *self, PyObject *key) ...@@ -115,7 +115,21 @@ InstanceDict_subscript( InstanceDictobject *self, PyObject *key)
{ {
UNLESS_ASSIGN(r,PyObject_CallFunction( UNLESS_ASSIGN(r,PyObject_CallFunction(
r, "OOO", key, self->validate, self->namespace)) r, "OOO", key, self->validate, self->namespace))
goto KeyError; {
PyObject *tb;
PyErr_Fetch(&r, &v, &tb);
if(r != PyExc_AttributeError || PyObject_Compare(v,key))
{
PyErr_Restore(r,v,tb);
return NULL;
}
Py_XDECREF(r);
Py_XDECREF(v);
Py_XDECREF(tb);
goto KeyError;
}
} }
else else
UNLESS(r=PyObject_GetAttr(self->inst, key)) goto KeyError; UNLESS(r=PyObject_GetAttr(self->inst, key)) goto KeyError;
...@@ -529,7 +543,7 @@ void ...@@ -529,7 +543,7 @@ void
initcDocumentTemplate() initcDocumentTemplate()
{ {
PyObject *m, *d; PyObject *m, *d;
char *rev="$Revision: 1.9 $"; char *rev="$Revision: 1.10 $";
UNLESS(py_isDocTemp=PyString_FromString("isDocTemp")) return; UNLESS(py_isDocTemp=PyString_FromString("isDocTemp")) return;
UNLESS(py_blocks=PyString_FromString("blocks")) return; UNLESS(py_blocks=PyString_FromString("blocks")) return;
...@@ -562,6 +576,9 @@ initcDocumentTemplate() ...@@ -562,6 +576,9 @@ initcDocumentTemplate()
Revision Log: Revision Log:
$Log: cDocumentTemplate.c,v $ $Log: cDocumentTemplate.c,v $
Revision 1.10 1998/03/26 21:55:40 jim
Fixed error propigation from aq_acquire in InstanceDict.
Revision 1.9 1997/12/18 17:48:46 jim Revision 1.9 1997/12/18 17:48:46 jim
added dcprotect added dcprotect
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment