Hi Dale,

On Mon, 21 Jul 2008 16:58:57 +0200
"Dale Gallagher" <[EMAIL PROTECTED]> wrote:
> 2008/7/21 Hanno Hecker <[EMAIL PROTECTED]>:
> > An SVN revision number would be better, if possible. We fixed some
> > issues with -prefork in some revisions all labled "0.43.rc1". I guess
> > this may be fixed at revision 893. If you're running the latest
> > revision (or at least a revision > 913) let me know.
> 
> I'm running revision 930M.
Seems like I should have committed the alternate diff... (see
http://www.nntp.perl.org/group/perl.qpsmtpd/2007/08/msg7193.html ff.)
Nobody complained, because we added a workaround for SSL after it
(r805) and most, if not all, use AUTH via SSL. This workaround is now
removed (r894).

The attached diff should fix it for you. I'll commit later if nobody
complains.

        Hanno
Index: qpsmtpd-prefork
===================================================================
--- qpsmtpd-prefork	(revision 934)
+++ qpsmtpd-prefork	(working copy)
@@ -35,7 +35,7 @@
 my $VERSION = "1.0";
 
 # qpsmtpd instances
-my ($qpsmtpd, $qpsmtpd_base);
+my ($qpsmtpd);
 
 # cmd's needed by IPC
 my $ipcrm = '/usr/bin/ipcrm';
@@ -252,15 +252,14 @@
     # Hup handler
     $SIG{HUP} = sub {
         # reload qpmstpd plugins
-	$qpsmtpd = $qpsmtpd_base = qpsmtpd_instance('restart' => 1); # reload plugins...
+	$qpsmtpd = qpsmtpd_instance('restart' => 1); # reload plugins...
         $qpsmtpd->load_plugins;
         kill 'HUP' => keys %children;
         info("reload daemon requested");
     };
 
-    # setup qpsmtpd_instance(s), _base is for resetting to a known state
-    # after each connection
-    $qpsmtpd = $qpsmtpd_base = qpsmtpd_instance();
+    # setup qpsmtpd_instance
+    $qpsmtpd = qpsmtpd_instance();
 
     # child reaper
     $SIG{CHLD} = \&reaper;
@@ -406,8 +405,8 @@
           "failed to create new object - $!";  # wait here until client connects
         info("connect from: " . $client->peerhost . ":" . $client->peerport);
          
-        # clear a previously running instance by cloning the base:
-        $qpsmtpd = $qpsmtpd_base;
+        # clear a previously running instance by creating a new instance
+        $qpsmtpd = qpsmtpd_instance();
 
         # set STDIN/STDOUT and autoflush
         #  ... no longer use POSIX::dup2: it failes after a few 

Reply via email to