On Fri, 10 Mar 2000, Evan Simpson wrote:
PythonMethods are "safe" in the sense that they should not allow access to or alteration of Zope objects and data without correct permissions.
They are *not* "safe" in the sense of preventing deliberate (or accidental) denial of service. While it would be possible for PMs to detect and halt infinite (or at least very long) loops, this would really only help with accidental cases, and would be fairly expensive. There are so many ways to arrange for a DoS attack, most of them not fixable by the PM machinery, that I've punted on this.
What would be really nice is Python machinery to assign space/time limits to a thread, so that *any* request mechanism which started consuming "too much" of your process' resources could be dealt with uniformly.
Thanks, Evan. As I said, I just wanted to make sure this was the intended behavior. I agree, the nicest solution would be the per-thread limits you speak of. But, for now, I'll just kick the server when one of my people makes a boo-boo. While I'm on the topic, is there any way to figure out WHAT thread is stuck in a loop? ie. If this were a Python Method that only looped every third tuesday of the fifth leap year per century, is there a way for me to identify what went awol, either using the monitor, or manage_debug, or...? Preparing-for-that-third-tuesday-ly yours, --Jeff --- Jeff K. Hoffman 704.849.0731 x108 Chief Technology Officer mailto:jeff@goingv.com Going Virtual, L.L.C. http://www.goingv.com/