# File lib/nio/selector.rb, line 21 def register(io, interest) @lock.synchronize do fail IOError, "selector is closed" if closed? monitor = @selectables[io] fail ArgumentError, "already registered as #{monitor.interests.inspect}" if monitor monitor = Monitor.new(io, interest, self) @selectables[monitor.io] = monitor monitor end end