To quote from my original post,
In short, I am trying to call a potentially long running process (Ghostscript) that is wrapped in some code that sets an alarm, then does an eval to call Ghostscript. Either Ghostscript finishes, or the alarm triggers to catch a runaway page being rendered.
What's happening is that the Apache process is dying about the time that the alarm is set. Dying is bad, in this context. OK, in any context.
Running this code from the command line works fine, this I'm trying to understand why setting an alarm (my guess, based on output from strace) might be causing the problem. After commenting out all of the calls to alarm, I'm still seeing problems:
Something still appears to be setting an alarm
rt_sigaction(SIGALRM, {0x4044fc80, [], SA_RESTORER, 0x402b88f8}, {SIG_DFL}, 8) = 0
that I presume is breaking Apache, even though I believe I'm running under the prefork MPM.
Alex / talexb / Toronto
"Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds
| [reply] [d/l] [select] |
Something other than your script is setting an alarm? Maybe you should show us the code you use to call ghostscript. The above trace looks more like a problem with pipes to me.
| [reply] |
I owe you a beer. You're absolutely right .. the code that I'm calling does do some futzing around with pipes to call Ghostscript .. it's not my code, I'm just calling it, but I should have guessed (or even checked) that there were pipes involved.
And that's not on .. Apache has taken control of the input and output pipes in the main process .. meaning if I want to do something *like* that, I have to start a sub-process and talk to it directly. So Apache was burping when it saw the code I was calling start to rearrange the plumbing, I guess.
Well, it's going to get tricky later when I want to start a sub-process if one isn't yet running for a document, use it for a page image, and then leave it in place for subsequent requests for the same document.
But Momma, that's where the fun is! --Manfred Mann
Alex / talexb / Toronto
"Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds
| [reply] |