Module: Cond::CondPrivate::SymbolGenerator
- Included in:
- CodeSection, ThreadLocal
- Defined in:
- lib/cond/cond_private/symbol_generator.rb
Class Method Summary collapse
Class Method Details
.gensym ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/cond/cond_private/symbol_generator.rb', line 16 def gensym @mutex.synchronize { if @recycled.empty? @count.succ! :"|#{@count}" else @recycled.shift end } end |
.recycle(syms) ⇒ Object
27 28 29 30 31 |
# File 'lib/cond/cond_private/symbol_generator.rb', line 27 def recycle(syms) @mutex.synchronize { @recycled.concat(syms) } end |
.track(object, syms) ⇒ Object
33 34 35 36 37 38 |
# File 'lib/cond/cond_private/symbol_generator.rb', line 33 def track(object, syms) @mutex.synchronize { @object_id_to_sym_list[object.object_id] = syms.dup ObjectSpace.define_finalizer(object, @finalizer) } end |