diff options
| author | fukachan <fukachan> | 2003-03-18 10:42:40 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2003-03-18 10:42:40 +0000 |
| commit | 3be0d18d4f3196fad45761c405bbfc2a3b71a82e (patch) | |
| tree | 659aad4273b9d4d502c4667c6a55d487867139f2 /fml/lib/FML/Process | |
| parent | d381df5a5824e204f61d7279ee6b798aec81c200 (diff) | |
| download | fml8-3be0d18d4f3196fad45761c405bbfc2a3b71a82e.tar.gz fml8-3be0d18d4f3196fad45761c405bbfc2a3b71a82e.tar.bz2 fml8-3be0d18d4f3196fad45761c405bbfc2a3b71a82e.zip | |
remove giant lock and use fine granuality locks now.
Diffstat (limited to 'fml/lib/FML/Process')
| -rw-r--r-- | fml/lib/FML/Process/Distribute.pm | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/fml/lib/FML/Process/Distribute.pm b/fml/lib/FML/Process/Distribute.pm index 7ac9c6a6..ec876b6e 100644 --- a/fml/lib/FML/Process/Distribute.pm +++ b/fml/lib/FML/Process/Distribute.pm @@ -3,7 +3,7 @@ # Copyright (C) 2000,2001,2002,2003 Ken'ichi Fukamachi # All rights reserved. # -# $FML: Distribute.pm,v 1.110 2003/03/16 10:49:51 fukachan Exp $ +# $FML: Distribute.pm,v 1.111 2003/03/17 09:01:17 fukachan Exp $ # package FML::Process::Distribute; @@ -201,7 +201,7 @@ sub run my $eval = $config->get_hook( 'distribute_run_start_hook' ); if ($eval) { eval qq{ $eval; }; LogWarn($@) if $@; } - $curproc->lock(); # XXX_LOCK_CHANNEL: default + # $curproc->lock(); unless ($curproc->is_refused()) { if ($curproc->permit_post($args)) { $curproc->_distribute($args); @@ -249,7 +249,8 @@ sub run else { LogError("ignore this request."); } - $curproc->unlock(); + + # $curproc->unlock(); $eval = $config->get_hook( 'distribute_run_end_hook' ); if ($eval) { eval qq{ $eval; }; LogWarn($@) if $@; } @@ -422,6 +423,7 @@ sub _header_rewrite sub _deliver_article { my ($curproc, $args) = @_; + my $cred = $curproc->{ credential }; my $config = $curproc->{ config }; # FML::Config object my $message = $curproc->article_message(); # Mail::Message object my $header = $curproc->article_message_header(); # FML::Header object @@ -464,6 +466,9 @@ sub _deliver_article if ($service->error) { Log($service->error); return;} + # XXX_LOCK_CHANNEL: recipient_map_modify + my $lock_channel = "recipient_map_modify"; + $curproc->lock($lock_channel); $service->deliver( { 'smtp_servers' => $config->{'smtp_servers'}, @@ -476,6 +481,8 @@ sub _deliver_article map_params => $config, }); + $curproc->unlock($lock_channel); + if ($service->error) { Log($service->error); return;} } |
