/**
 *  call-seq:
 *    Rev::IOWatcher.attach(loop) -> Rev::IOWatcher
 * 
 * Attach the IO watcher to the given Rev::Loop.  If the watcher is already attached
 * to a loop, detach it from the old one and attach it to the new one.
 */
static VALUE Rev_IOWatcher_attach(VALUE self, VALUE loop)
{
  Watcher_Attach(io, Rev_IOWatcher_detach, self, loop);

  return self;  
}