summaryrefslogtreecommitdiff
path: root/fml/lib/FML/Process/Kernel.pm
diff options
context:
space:
mode:
authorfukachan <fukachan>2001-09-13 14:36:45 +0000
committerfukachan <fukachan>2001-09-13 14:36:45 +0000
commite2dc6f626625f183d870384fac8ce9b508df3c46 (patch)
tree7151bc0a20717834a3055d3b34de47126510bbfc /fml/lib/FML/Process/Kernel.pm
parent220381b5489d5f43644dfa5a6d81734c5e3059f4 (diff)
downloadfml8-e2dc6f626625f183d870384fac8ce9b508df3c46.tar.gz
fml8-e2dc6f626625f183d870384fac8ce9b508df3c46.tar.bz2
fml8-e2dc6f626625f183d870384fac8ce9b508df3c46.zip
more friendly error message
implement queue_flush($queue): This flush C<$queue>, that is, send mail specified by C<$queue>. It uses FML::Process::QueueManager module.
Diffstat (limited to 'fml/lib/FML/Process/Kernel.pm')
-rw-r--r--fml/lib/FML/Process/Kernel.pm28
1 files changed, 26 insertions, 2 deletions
diff --git a/fml/lib/FML/Process/Kernel.pm b/fml/lib/FML/Process/Kernel.pm
index c5f7d852..46ce23ff 100644
--- a/fml/lib/FML/Process/Kernel.pm
+++ b/fml/lib/FML/Process/Kernel.pm
@@ -4,7 +4,7 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: Kernel.pm,v 1.49 2001/09/13 11:55:05 fukachan Exp $
+# $FML: Kernel.pm,v 1.50 2001/09/13 13:47:48 fukachan Exp $
#
package FML::Process::Kernel;
@@ -585,8 +585,11 @@ sub queue_in
# cheap sanity check
unless (defined($sender) && defined($recipient)) {
+ my $reason = '';
use Carp;
- croak("panic: queue_in() must be given sender and recipient\n");
+ $reason = "no sender specified\n" unless defined $sender;
+ $reason = "no recipient specified\n" unless defined $recipient;
+ croak("panic: queue_in()\n\treason: $reason\n");
}
@@ -643,6 +646,9 @@ sub queue_in
$queue->set('recipients', [ $recipient ]);
$queue->in( $msg ) && Log("queue=$qid in");
$queue->setrunnable();
+
+ # return queue object
+ return $queue;
}
@@ -664,6 +670,24 @@ sub _add_info_on_header
}
+=head2 C<queue_flush($queue)>
+
+flush C<$queue>, that is, send mail specified by C<$queue>.
+
+=cut
+
+sub queue_flush
+{
+ my ($curproc, $queue) = @_;
+ my $config = $curproc->{ config };
+ my $queue_dir = $config->{ mqueue_dir };
+
+ use FML::Process::QueueManager;
+ my $obj = new FML::Process::QueueManager { directory => $queue_dir };
+ $obj->send($curproc);
+}
+
+
=head1 MISCELLANEOUS METHODS
=head2 C<load_module($args, $module)>