diff --git a/Milter/__init__.py b/Milter/__init__.py index 5bb025e..7293bf1 100755 --- a/Milter/__init__.py +++ b/Milter/__init__.py @@ -142,8 +142,10 @@ def connectcallback(ctx,hostname,family,hostaddr): def closecallback(ctx): m = ctx.getpriv() if not m: return CONTINUE - rc = m.close() - m._setctx(None) # release milterContext + try: + rc = m.close() + finally: + m._setctx(None) # release milterContext return rc def dictfromlist(args): diff --git a/miltermodule.c b/miltermodule.c index d8f8845..4ae5a2c 100644 --- a/miltermodule.c +++ b/miltermodule.c @@ -35,6 +35,9 @@ $ python setup.py help libraries=["milter","smutil","resolv"] * $Log$ + * Revision 1.16 2008/12/16 04:21:05 customdesigned + * Fedora release + * * Revision 1.15 2008/12/13 20:29:56 customdesigned * Split off milter applications. * @@ -1097,7 +1100,7 @@ milter_addrcpt(PyObject *self, PyObject *args) { PyThreadState *t; int rc; - if (!PyArg_ParseTuple(args, "s|z:addrcpt", &rcpt)) return NULL; + if (!PyArg_ParseTuple(args, "s|z:addrcpt", &rcpt, ¶ms)) return NULL; ctx = _find_context(self); if (ctx == NULL) return NULL; t = PyEval_SaveThread();