# 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