On Wed, 10 Mar 2004, Matt Sergeant wrote: > Interesting. I've recently discovered one weird thing in pperl where > pperl tries too hard to become like the calling process, to the point > of trying to set $$ to the caller's PID. If you comment out the code > where it sets $$ everything starts working again. I have no idea if > this will fix what you're doing. > > But it does make me think there might be a call for a pperl that > doesn't try quite so hard. Or a flag that says "I don't care about > emulation of the caller - just give me the speedup".
But we do want some emulation of the caller don't we? I'm thinking of environment in particular. > Unfortunately debugging pperl is one of the hardest things I've ever > had to do in my career. Is it worth it? I'm curious as to whether anyone has built a forking server around qpsmtpd (essentially doing what tcpserver does, but in perl)? I'm aware of the select server version(*), but would prefer a forking server (say, using Net::Daemon). That would seem to be able to provide the same speedup as pperl, but without the headache. What am I missing? (*) Here's a patch to remove some incorrect doco: --- qpsmtpd-server 2 Nov 2003 11:36:01 -0000 1.2 +++ qpsmtpd-server 10 Mar 2004 17:34:45 -0000 @@ -2,9 +2,6 @@ # Copyright (c) 2001 Ask Bjoern Hansen. See the LICENSE file for details. # The "command dispatch" system is taken from colobus - http://trainedmonkey.com/colobus/ # -# this is designed to be run under tcpserver (http://cr.yp.to/ucspi-tcp.html) -# or inetd if you're into that sort of thing -# # # For more information see http://develooper.com/code/qpsmtpd/ # --- Charlie