$PeerAddr: Temporarily use localhost:2852.
authorshort <>
Sun, 27 Jul 2003 08:02:29 +0000 (08:02 +0000)
committershort <>
Sun, 27 Jul 2003 08:02:29 +0000 (08:02 +0000)
$Socket_timeout: ->7600 to wait for slow processing by lacemail-accept.
--store: Close STDIN for proper --forkoff.
Implemented --forkoff to prevent procmail fallbacks by failed --submit.

perlmail-submit

index 782bb4d..9de0b90 100755 (executable)
@@ -15,14 +15,11 @@ use IO::Handle;
 use POSIX qw(mktime);
 use Fcntl qw(:flock);
 
-my $ExitCode;
-END {
-       exit $ExitCode if defined $ExitCode;
-       }
 
 my $Lock_pathname="/tmp/LaceMail.lock";
-my $PeerAddr="dejhome.dyn.jankratochvil.net.:852";
-my $Socket_timeout=600;        # 15sec is NOT enough!
+#my $PeerAddr="dejhome.dyn.jankratochvil.net.:852";
+my $PeerAddr="127.0.0.1:2852";
+my $Socket_timeout=7600;       # 15sec is NOT enough!
 my $DB_table="LaceMail_folder";
 my $DBI_database="short";
 my $DBI_user="short";
@@ -69,6 +66,7 @@ sub store
                local $/;
                $message=<STDIN>;
                }
+       close STDIN or cluck "close STDIN: $!";
        my %row=(
                        "message"=>$message,
                        # assume "retries"=>0,
@@ -77,7 +75,14 @@ sub store
                        ." values (".join(",",map("?",keys(%row))).")");
        $prep->execute(values(%row));
        print $prep->{"mysql_insertid"}."\n";
-       $ExitCode=0;    # we will succeed even if --submit fails
+}
+
+sub forkoff
+{
+       my $pid=fork();
+       confess if !defined $pid;
+       exit 0 if $pid; # parent
+       # child
 }
 
 my $submitonce_run=0;
@@ -194,6 +199,7 @@ $Getopt::Long::ignorecase=0;
 die if !GetOptions(
                  "initdb" ,\&initdb,
                  "store"  ,\&store,
+                 "forkoff",\&forkoff,
                  "submit" ,\&submit,
                  "pending",\&pending,
                  "clean:s",\&clean,