mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-23 04:23:08 +00:00
78a3416947
jmap -histo and jmap -dump to work. Submitted by: Brian Gardner <brian@experts-exchange.com> Sponsored by: Experts Exchange
45 lines
1.8 KiB
Java
45 lines
1.8 KiB
Java
$FreeBSD$
|
|
|
|
--- ../../j2se/src/solaris/classes/sun/tools/attach/BSDAttachProvider.java 10 May 2007 05:38:51 -0000 1.1
|
|
+++ ../../j2se/src/solaris/classes/sun/tools/attach/BSDAttachProvider.java 2 Feb 2009 00:27:30 -0000
|
|
@@ -14,7 +14,7 @@
|
|
import java.io.IOException;
|
|
|
|
/*
|
|
- * An AttachProvider implementation for Linux that uses a UNIX domain
|
|
+ * An AttachProvider implementation for BSD that uses a UNIX domain
|
|
* socket.
|
|
*/
|
|
public class BSDAttachProvider extends HotSpotAttachProvider {
|
|
@@ -36,12 +36,28 @@
|
|
public VirtualMachine attachVirtualMachine(String vmid)
|
|
throws AttachNotSupportedException, IOException
|
|
{
|
|
- throw new AttachNotSupportedException("Attach not yet supported on BSD");
|
|
+ if (isNotAttachable(vmid)) {
|
|
+ throw new AttachNotSupportedException("can only attach to Java SE 6.0 or newer");
|
|
+ }
|
|
+ return new BSDVirtualMachine(this, vmid);
|
|
}
|
|
|
|
public VirtualMachine attachVirtualMachine(VirtualMachineDescriptor vmd)
|
|
throws AttachNotSupportedException, IOException
|
|
{
|
|
- throw new AttachNotSupportedException("Attach not yet supported on BSD");
|
|
+ if (vmd.provider() != this) {
|
|
+ throw new AttachNotSupportedException("provider mismatch");
|
|
+ }
|
|
+ // To avoid re-checking if the VM if attachable, we check if the descriptor
|
|
+ // is for a hotspot VM - these descriptors are created by the listVirtualMachines
|
|
+ // implementation which only returns a list of attachable VMs.
|
|
+ if (vmd instanceof HotSpotVirtualMachineDescriptor) {
|
|
+ assert ((HotSpotVirtualMachineDescriptor)vmd).isAttachable();
|
|
+ checkAttachPermission();
|
|
+ return new BSDVirtualMachine(this, vmd.id());
|
|
+ } else {
|
|
+ return attachVirtualMachine(vmd.id());
|
|
+ }
|
|
}
|
|
+
|
|
}
|