G'day, From: "Anthony Baxter" <[EMAIL PROTECTED]> > On Thursday 20 January 2005 12:43, Donovan Baarda wrote: > > On Wed, 2005-01-19 at 13:37 +0000, Michael Hudson wrote: > > > The main oddness about python threads (before 2.3) is that they run > > > with all signals masked. You could play with a C wrapper (call > > > setprocmask, then exec fop) to see if this is what is causing the > > > problem. But please try 2.4. > > > > Python 2.4 does indeed fix the problem. Unfortunately we are using Zope > > 2.7.4, and I'm a bit wary of attempting to migrate it all from 2.3 to > > 2.4. Is there any wa this "Fix" can be back-ported to 2.3? > > It's extremely unlikely - I couldn't make myself comfortable with it > when attempting to figure out it's backportedness. While the current > behaviour on 2.3.4 is broken in some cases, I fear very much that > the new behaviour will break other (working) code - and this is > something I try very hard to avoid in a bugfix release, particularly > in one that's probably the final one of a series. > > Fundamentally, the answer is "don't do signals+threads, you will > get burned". For your application, you might want to instead try
In this case it turns out to be "don't do exec() in a thread, because what you exec can have all it's signals masked". That turns out to be a hell of a lot of things; popen, os.command, etc. They all only work OK in a threaded application if what you are exec'ing doesn't use any signals. > something where you write requests to a file in a spool directory, > and have a python script that loops looking for requests, and > generates responses. This is likely to be much simpler to debug > and work with. Hmm, interprocess communications; great fun :-) And no spawning the process from within the zope application; it's gotta be a separate daemon. Actually, I've noticed that zope often has a sorta zombie "which" process which it spawns. I wonder it this is a stuck thread waiting for some signal... ---------------------------------------------------------------- Donovan Baarda http://minkirri.apana.org.au/~abo/ ---------------------------------------------------------------- _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com