AixVirtualMachine(AttachProvider provider,String vmid) throws AttachNotSupportedException, IOException {
  super(provider,vmid);
  int pid;
  try {
    pid=Integer.parseInt(vmid);
  }
 catch (  NumberFormatException x) {
    throw new AttachNotSupportedException("Invalid process identifier");
  }
  path=findSocketFile(pid);
  if (path == null) {
    File f=createAttachFile(pid);
    try {
      sendQuitTo(pid);
      int i=0;
      long delay=200;
      int retries=(int)(attachTimeout() / delay);
      do {
        try {
          Thread.sleep(delay);
        }
 catch (        InterruptedException x) {
        }
        path=findSocketFile(pid);
        i++;
      }
 while (i <= retries && path == null);
      if (path == null) {
        throw new AttachNotSupportedException("Unable to open socket file: target process not responding " + "or HotSpot VM not loaded");
      }
    }
  finally {
      f.delete();
    }
  }
  checkPermissions(path);
  int s=socket();
  try {
    connect(s,path);
  }
  finally {
    close(s);
  }
}

AixVirtualMachine ( AttachProvider provider , String vmid ) throws AttachNotSupportedException , IOException { super ( provider , vmid ) ; int pid ; try { pid = Integer . parseInt ( vmid ) ; } catch ( NumberFormatException x ) { throw new AttachNotSupportedException ( "Invalid process identifier" ) ; } path = findSocketFile ( pid ) ; if ( path == null ) { File f = createAttachFile ( pid ) ; try { sendQuitTo ( pid ) ; int i = 0 ; long delay = 200 ; int retries = ( int ) ( attachTimeout ( ) / delay ) ; do { try { Thread . sleep ( delay ) ; } catch ( InterruptedException x ) { } path = findSocketFile ( pid ) ; i ++ ; } while ( i <= retries && path == null ) ; if ( path == null ) { throw new AttachNotSupportedException ( "Unable to open socket file: target process not responding " + "or HotSpot VM not loaded" ) ; } } finally { f . delete ( ) ; } } checkPermissions ( path ) ; int s = socket ( ) ; try { connect ( s , path ) ; } finally { close ( s ) ; } }
attaches to the target vm
