G'day, From: "Anthony Baxter" <anthony at interlink.com.au> > 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/ ----------------------------------------------------------------
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4