# lib/capistrano/configuration/variables.rb
# patch submitted by Adrian B. Danieli <adrian@oogalabs.com> 25 Jun 2007
#
0a1
> require 'monitor'
10a12
>         @@fetch_lock = Monitor.new
76,79c78,83
<           
<         if @variables[sym].respond_to?(:call)
<           @original_procs[sym] = @variables[sym]
<           @variables[sym] = @variables[sym].call
---
> 
>         @@fetch_lock.synchronize do
>           if @variables[sym].respond_to?(:call)
>             @original_procs[sym] = @variables[sym]
>             @variables[sym] = @variables[sym].call
>           end
