On August 9, 2005 at 22:23, East Coast Coder wrote: > I've been running mhonarc through a loop driver, to save the time of > the fork/exec/parse/compile: > > > mhonarc::initialize > while (...) > mhonarc::process_archive > > I tried to control this via Signals (ie, so I can tell the driver to > stop itself, in case I changed a callback or config file, etc.), but > it just hung (and ate up all available RAM). A peek at the source > code showed me that mhonarc catches all of these signals.
kill -9 :) > Is there anyway around this, so that I can use signals as above? > > Also, 1) why does mhonarc catch all of these signals, and 2) why do > you think they cause things to hang and eat RAM? Not sure about the latter, could be perl thing. MHonArc ignores signals once it reaches the stage when it is writing files. This is to prevent possible archive corruption, but later versions of MHonArc probably make corruption less likely when signal handling code was first included. Looking at the code, it appears that mhonarc may fail to reset signals after it closes an archive. Therefore, in your loop, after the first archive is processed, it looks like signal handlers are not reset to their original values, which causes termination-based signals to be ignored. --ewh --------------------------------------------------------------------- To sign-off this list, send email to [EMAIL PROTECTED] with the message text UNSUBSCRIBE MHONARC-DEV
