summaryrefslogtreecommitdiffstats
path: root/lib/evendoors
diff options
context:
space:
mode:
Diffstat (limited to 'lib/evendoors')
-rw-r--r--lib/evendoors/twirl.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/evendoors/twirl.rb b/lib/evendoors/twirl.rb
index 5aa7d25..8742220 100644
--- a/lib/evendoors/twirl.rb
+++ b/lib/evendoors/twirl.rb
@@ -17,6 +17,10 @@ module EvenDoors
attr_accessor :debug
#
def release_p p
+ # hope there is no circular loop
+ while p2=p.merged_shift
+ release_p p2
+ end
( @pool[p.class] ||= [] ) << p
end
#