+1
This should fix the problem at the cost of some logging.  A "real" fix
(writing a fork-safe thread-lock handling system) won't be done this
afternoon.

-- Markus

On Fri, 2009-09-18 at 14:17 -0400, Steven Jenkins wrote:
> ---
>  lib/puppet/reports/tagmail.rb |   21 +++++----------------
>  1 files changed, 5 insertions(+), 16 deletions(-)
> 
> diff --git a/lib/puppet/reports/tagmail.rb b/lib/puppet/reports/tagmail.rb
> index 4fdaa51..5b4a38e 100644
> --- a/lib/puppet/reports/tagmail.rb
> +++ b/lib/puppet/reports/tagmail.rb
> @@ -128,7 +128,6 @@ Puppet::Reports.register_report(:tagmail) do
>                  begin
>                      Net::SMTP.start(Puppet[:smtpserver]) do |smtp|
>                          reports.each do |emails, messages|
> -                            Puppet.info "Sending report to %s" % 
> emails.join(", ")
>                              smtp.open_message_stream(Puppet[:reportfrom], 
> *emails) do |p|
>                                p.puts "From: #{Puppet[:reportfrom]}"
>                                p.puts "Subject: Puppet Report for %s" % 
> self.host
> @@ -149,16 +148,13 @@ Puppet::Reports.register_report(:tagmail) do
>              elsif Puppet[:sendmail] != ""
>                  begin
>                      reports.each do |emails, messages|
> -                        Puppet.info "Sending report to %s" % emails.join(", 
> ")
>                          # We need to open a separate process for every set 
> of email addresses
> -                        sync.synchronize do
> -                            IO.popen(Puppet[:sendmail] + " " + emails.join(" 
> "), "w") do |p|
> -                                p.puts "From: #{Puppet[:reportfrom]}"
> -                                p.puts "Subject: Puppet Report for %s" % 
> self.host
> -                                p.puts "To: " + emails.join(", ")
> +                        IO.popen(Puppet[:sendmail] + " " + emails.join(" "), 
> "w") do |p|
> +                            p.puts "From: #{Puppet[:reportfrom]}"
> +                            p.puts "Subject: Puppet Report for %s" % 
> self.host
> +                            p.puts "To: " + emails.join(", ")
>  
> -                                p.puts messages
> -                            end
> +                            p.puts messages
>                          end
>                      end
>                  rescue => detail
> @@ -176,12 +172,5 @@ Puppet::Reports.register_report(:tagmail) do
>          # Don't bother waiting for the pid to return.
>          Process.detach(pid)
>      end
> -
> -    def sync
> -        unless defined?(@sync)
> -            @sync = Sync.new
> -        end
> -        @sync
> -    end
>  end
>  
-- 
Markus <[email protected]>


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to