A patch is attached.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"beanstalk-talk" 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/beanstalk-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Attachment: connection_leak_when_timeout.patch
Description: Binary data

On 10 Sep 2009, at 00:57, Linan Wang wrote:

> Hi,
> Found a bug in ruby client lib. It leaks connections when reserve- 
> with-timeout.
> connection.rb line 329:
>    def call_wrap(c, *args)
>      self.last_conn = c
>      c.send(*args)
>    rescue EOFError, Errno::ECONNRESET, Errno::EPIPE,  
> UnexpectedResponse => ex
>      self.remove(c)
>      raise ex
>    end
>
> Since TimedOut is defined as a subclass of UnexpectedResponse, good  
> connections will be removed from @connections when TimedOut thus  
> leak connections.
>
> Fix:
> change line 343 to:
> self.remove(c) unless ex.is_a?(TimedOut)
>
> best wishes
> Linan Wang

Reply via email to