Commit b25862f8 authored by Jim Fulton's avatar Jim Fulton

Fixed leak introduced in last revision. :-(

parent 70c29e1a
/* /*
$Id: cPickleCache.c,v 1.4 1997/04/11 19:13:21 jim Exp $ $Id: cPickleCache.c,v 1.5 1997/04/15 19:03:29 jim Exp $
C implementation of a pickle jar cache. C implementation of a pickle jar cache.
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
(540) 371-6909 (540) 371-6909
***************************************************************************/ ***************************************************************************/
static char *what_string = "$Id: cPickleCache.c,v 1.4 1997/04/11 19:13:21 jim Exp $"; static char *what_string = "$Id: cPickleCache.c,v 1.5 1997/04/15 19:03:29 jim Exp $";
#define ASSIGN(V,E) {PyObject *__e; __e=(E); Py_XDECREF(V); (V)=__e;} #define ASSIGN(V,E) {PyObject *__e; __e=(E); Py_XDECREF(V); (V)=__e;}
#define UNLESS(E) if(!(E)) #define UNLESS(E) if(!(E))
...@@ -352,8 +352,8 @@ cc_ass_sub(ccobject *self, PyObject *key, PyObject *v) ...@@ -352,8 +352,8 @@ cc_ass_sub(ccobject *self, PyObject *key, PyObject *v)
PyErr_Clear(); PyErr_Clear();
UNLESS(-1 != PyDict_SetItem(self->data,key,t)) return -1; UNLESS(-1 != PyDict_SetItem(self->data,key,t)) return -1;
return maybegc(self, t);
Py_DECREF(t); Py_DECREF(t);
return maybegc(self, t);
} }
else else
{ {
...@@ -436,7 +436,7 @@ void ...@@ -436,7 +436,7 @@ void
initcPickleCache() initcPickleCache()
{ {
PyObject *m, *d; PyObject *m, *d;
char *rev="$Revision: 1.4 $"; char *rev="$Revision: 1.5 $";
Cctype.ob_type=&PyType_Type; Cctype.ob_type=&PyType_Type;
...@@ -464,6 +464,9 @@ initcPickleCache() ...@@ -464,6 +464,9 @@ initcPickleCache()
/****************************************************************************** /******************************************************************************
$Log: cPickleCache.c,v $ $Log: cPickleCache.c,v $
Revision 1.5 1997/04/15 19:03:29 jim
Fixed leak introduced in last revision. :-(
Revision 1.4 1997/04/11 19:13:21 jim Revision 1.4 1997/04/11 19:13:21 jim
Added code to be more conservative about GCing. Added code to be more conservative about GCing.
Fixed setattr bugs. Fixed setattr bugs.
......
/* /*
$Id: cPickleCache.c,v 1.4 1997/04/11 19:13:21 jim Exp $ $Id: cPickleCache.c,v 1.5 1997/04/15 19:03:29 jim Exp $
C implementation of a pickle jar cache. C implementation of a pickle jar cache.
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
(540) 371-6909 (540) 371-6909
***************************************************************************/ ***************************************************************************/
static char *what_string = "$Id: cPickleCache.c,v 1.4 1997/04/11 19:13:21 jim Exp $"; static char *what_string = "$Id: cPickleCache.c,v 1.5 1997/04/15 19:03:29 jim Exp $";
#define ASSIGN(V,E) {PyObject *__e; __e=(E); Py_XDECREF(V); (V)=__e;} #define ASSIGN(V,E) {PyObject *__e; __e=(E); Py_XDECREF(V); (V)=__e;}
#define UNLESS(E) if(!(E)) #define UNLESS(E) if(!(E))
...@@ -352,8 +352,8 @@ cc_ass_sub(ccobject *self, PyObject *key, PyObject *v) ...@@ -352,8 +352,8 @@ cc_ass_sub(ccobject *self, PyObject *key, PyObject *v)
PyErr_Clear(); PyErr_Clear();
UNLESS(-1 != PyDict_SetItem(self->data,key,t)) return -1; UNLESS(-1 != PyDict_SetItem(self->data,key,t)) return -1;
return maybegc(self, t);
Py_DECREF(t); Py_DECREF(t);
return maybegc(self, t);
} }
else else
{ {
...@@ -436,7 +436,7 @@ void ...@@ -436,7 +436,7 @@ void
initcPickleCache() initcPickleCache()
{ {
PyObject *m, *d; PyObject *m, *d;
char *rev="$Revision: 1.4 $"; char *rev="$Revision: 1.5 $";
Cctype.ob_type=&PyType_Type; Cctype.ob_type=&PyType_Type;
...@@ -464,6 +464,9 @@ initcPickleCache() ...@@ -464,6 +464,9 @@ initcPickleCache()
/****************************************************************************** /******************************************************************************
$Log: cPickleCache.c,v $ $Log: cPickleCache.c,v $
Revision 1.5 1997/04/15 19:03:29 jim
Fixed leak introduced in last revision. :-(
Revision 1.4 1997/04/11 19:13:21 jim Revision 1.4 1997/04/11 19:13:21 jim
Added code to be more conservative about GCing. Added code to be more conservative about GCing.
Fixed setattr bugs. Fixed setattr bugs.
......
/* /*
$Id: cPickleCache.c,v 1.4 1997/04/11 19:13:21 jim Exp $ $Id: cPickleCache.c,v 1.5 1997/04/15 19:03:29 jim Exp $
C implementation of a pickle jar cache. C implementation of a pickle jar cache.
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
(540) 371-6909 (540) 371-6909
***************************************************************************/ ***************************************************************************/
static char *what_string = "$Id: cPickleCache.c,v 1.4 1997/04/11 19:13:21 jim Exp $"; static char *what_string = "$Id: cPickleCache.c,v 1.5 1997/04/15 19:03:29 jim Exp $";
#define ASSIGN(V,E) {PyObject *__e; __e=(E); Py_XDECREF(V); (V)=__e;} #define ASSIGN(V,E) {PyObject *__e; __e=(E); Py_XDECREF(V); (V)=__e;}
#define UNLESS(E) if(!(E)) #define UNLESS(E) if(!(E))
...@@ -352,8 +352,8 @@ cc_ass_sub(ccobject *self, PyObject *key, PyObject *v) ...@@ -352,8 +352,8 @@ cc_ass_sub(ccobject *self, PyObject *key, PyObject *v)
PyErr_Clear(); PyErr_Clear();
UNLESS(-1 != PyDict_SetItem(self->data,key,t)) return -1; UNLESS(-1 != PyDict_SetItem(self->data,key,t)) return -1;
return maybegc(self, t);
Py_DECREF(t); Py_DECREF(t);
return maybegc(self, t);
} }
else else
{ {
...@@ -436,7 +436,7 @@ void ...@@ -436,7 +436,7 @@ void
initcPickleCache() initcPickleCache()
{ {
PyObject *m, *d; PyObject *m, *d;
char *rev="$Revision: 1.4 $"; char *rev="$Revision: 1.5 $";
Cctype.ob_type=&PyType_Type; Cctype.ob_type=&PyType_Type;
...@@ -464,6 +464,9 @@ initcPickleCache() ...@@ -464,6 +464,9 @@ initcPickleCache()
/****************************************************************************** /******************************************************************************
$Log: cPickleCache.c,v $ $Log: cPickleCache.c,v $
Revision 1.5 1997/04/15 19:03:29 jim
Fixed leak introduced in last revision. :-(
Revision 1.4 1997/04/11 19:13:21 jim Revision 1.4 1997/04/11 19:13:21 jim
Added code to be more conservative about GCing. Added code to be more conservative about GCing.
Fixed setattr bugs. Fixed setattr bugs.
......
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