Indeed, I was hoping the ref in the dictionary there was getting in the way
when old_publish was raising an exception, but I tried using a
instead and that didn't help.
I managed to test without Localizer (It dawned on me that since I'm looking
at errors, it really doesn't matter if I don't have Localizer installed
not having it will generate errors, which is what I want!) ... And the
So it's definitely Localizer, but it's not the Globals() request patch ...
at least not the act of patching it itself, that causes the problem.
From: Dieter Maurer [mailto:[EMAIL PROTECTED]
Sent: May 20, 2004 2:58 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: [Zope-dev] Re: Preliminary findings: Zope 2.7 leakage
caused by errors
[EMAIL PROTECTED] wrote at 2004-5-20 09:58 -0400:
>def new_publish(request, module_name, after_list, debug=0):
> id = get_ident()
> print "Localizer got thread id: " + str(id)
> Publish._requests[id] = request
> print "Request dict is now: " + str(Publish._requests)
> x = Publish.old_publish(request, module_name, after_list, debug)
> del Publish._requests[id]
> except KeyError:
This code cannot leak requests in large numbers (though it may
leak a few requests for some time).
Reason: Zope does not normally create new threads. This implies
that thread_ids are reused and thereby old requests flushed from
Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists -