lib/ref/soft_reference.rb
def add_strong_reference(obj) #:nodoc:
        @@lock.synchronize do
          @@strong_references.last[obj] = true
          unless @@gc_flag_set
            @@gc_flag_set = true
            ObjectSpace.define_finalizer(Object.new, @@finalizer)
          end
        end
      end
def add_strong_reference(obj) #:nodoc:
        @@lock.synchronize do
          @@strong_references.last[obj] = true
          unless @@gc_flag_set
            @@gc_flag_set = true
            ObjectSpace.define_finalizer(Object.new, @@finalizer)
          end
        end
      end
Create a strong reference to the object. This reference will live
 for three passes of the garbage collector.