# File lib/poll.rb, line 150 def register( io, eventMask, callback=nil, *arguments, &block ) raise TypeError, "#{io.class.name} does not appear to be file-descriptor-based" unless io.respond_to?( :fileno ) && io.fileno # Clear any old events for this handle @events.delete( io ) # Set the mask @masks[ io ] = 0 setMask( io, eventMask ) # Set the callback setCallback( io, (callback||block), *arguments ) end