Quinn Dunkan wrote:
And as far as tuning pcgi: you could shorten pcgi_socket():delay or the 2 second sleep() at the end of pcgiStartProc(). The first one could probably be pretty safely shortened with the miniscule cost of a chance of a few extra connect() calls,
You may season to taste. The 2 second pause seemed safe enough on most tested systems, since we're flying blind. We've reserved an extra header byte to designate out-of-band data that could be much smarter about how to handle this, eventually.
but the second one should probably stay the same, although I'm not clear on its purpose (give time for the child to sort itself out?).
I don't have the code here, but it's probably trying to avoid some problem that I encountered when it was missing <wink>.
Here's a random question: how come the win32 pcgiConnect uses CONNDELAY (defined in pcgi.h as 1), while the unix version says int delay=1; ?
Probably historical flotsam. The win32 portion of pcgi is almost a completely separate product and only coexists with its Unix cousin by virtue of an overabundance of #ifdef clauses. I've mentioned this before, but it probably won't hurt to repeat. I don't think the win32 version of pcgi as the best solution for this sort of thing. It's mainly there to fill out a niche. Process launch is more expensive under Windows than Unix, so the Medusa/ZServer approach is probably more sensible in that environment, where good performance is desired.
See, that's the problem with open source: all sorts of grubby randoms can go rooting through your code :)
I don't consider that a problem. ;-) Best regards, Jeff Bauer Rubicon, Inc.