class sun.rmi.server.Activation$GroupEntry$Watchdog extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.rmi.server.Activation$GroupEntry$Watchdog
super_class: java.lang.Thread
{
private final java.lang.Process groupProcess;
descriptor: Ljava/lang/Process;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long groupIncarnation;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean canInterrupt;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean shouldQuit;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean shouldRestart;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
final sun.rmi.server.Activation$GroupEntry this$1;
descriptor: Lsun/rmi/server/Activation$GroupEntry;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.rmi.server.Activation$GroupEntry);
descriptor: (Lsun/rmi/server/Activation$GroupEntry;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield sun.rmi.server.Activation$GroupEntry$Watchdog.this$1:Lsun/rmi/server/Activation$GroupEntry;
1: aload 0
new java.lang.StringBuilder
dup
ldc "WatchDog-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield sun.rmi.server.Activation$GroupEntry.groupName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield sun.rmi.server.Activation$GroupEntry.incarnation:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Thread.<init>:(Ljava/lang/String;)V
2: aload 0
aload 1
getfield sun.rmi.server.Activation$GroupEntry.child:Ljava/lang/Process;
putfield sun.rmi.server.Activation$GroupEntry$Watchdog.groupProcess:Ljava/lang/Process;
3: aload 0
aload 1
getfield sun.rmi.server.Activation$GroupEntry.incarnation:J
putfield sun.rmi.server.Activation$GroupEntry$Watchdog.groupIncarnation:J
4: aload 0
iconst_1
putfield sun.rmi.server.Activation$GroupEntry$Watchdog.canInterrupt:Z
5: aload 0
iconst_0
putfield sun.rmi.server.Activation$GroupEntry$Watchdog.shouldQuit:Z
6: aload 0
iconst_1
putfield sun.rmi.server.Activation$GroupEntry$Watchdog.shouldRestart:Z
7: aload 0
iconst_1
invokevirtual sun.rmi.server.Activation$GroupEntry$Watchdog.setDaemon:(Z)V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/rmi/server/Activation$GroupEntry$Watchdog;
MethodParameters:
Name Flags
this$0 final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.shouldQuit:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.groupProcess:Ljava/lang/Process;
invokevirtual java.lang.Process.waitFor:()I
pop
3: goto 6
StackMap locals:
StackMap stack: java.lang.InterruptedException
4: pop
5: return
6: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 7: aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.this$1:Lsun/rmi/server/Activation$GroupEntry;
dup
astore 2
monitorenter
8: aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.shouldQuit:Z
ifeq 11
9: aload 2
monitorexit
10: return
11: StackMap locals: int sun.rmi.server.Activation$GroupEntry
StackMap stack:
aload 0
iconst_0
putfield sun.rmi.server.Activation$GroupEntry$Watchdog.canInterrupt:Z
12: invokestatic sun.rmi.server.Activation$GroupEntry$Watchdog.interrupted:()Z
pop
13: aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.groupIncarnation:J
aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.this$1:Lsun/rmi/server/Activation$GroupEntry;
getfield sun.rmi.server.Activation$GroupEntry.incarnation:J
lcmp
ifne 19
14: aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.shouldRestart:Z
ifeq 15
aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.this$1:Lsun/rmi/server/Activation$GroupEntry;
invokestatic sun.rmi.server.Activation$GroupEntry.access$0:(Lsun/rmi/server/Activation$GroupEntry;)Lsun/rmi/server/Activation;
getfield sun.rmi.server.Activation.shuttingDown:Z
ifne 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 1
17: aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.this$1:Lsun/rmi/server/Activation$GroupEntry;
invokevirtual sun.rmi.server.Activation$GroupEntry.reset:()V
18: aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.this$1:Lsun/rmi/server/Activation$GroupEntry;
invokevirtual sun.rmi.server.Activation$GroupEntry.childGone:()V
19: StackMap locals:
StackMap stack:
aload 2
monitorexit
20: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
21: aload 2
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
iload 1
ifeq 25
24: aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.this$1:Lsun/rmi/server/Activation$GroupEntry;
invokevirtual sun.rmi.server.Activation$GroupEntry.restartServices:()V
25: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/rmi/server/Activation$GroupEntry$Watchdog;
7 26 1 restart Z
Exception table:
from to target type
2 3 4 Class java.lang.InterruptedException
8 10 21 any
11 20 21 any
21 22 21 any
void dispose();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield sun.rmi.server.Activation$GroupEntry$Watchdog.shouldQuit:Z
1: aload 0
getfield sun.rmi.server.Activation$GroupEntry$Watchdog.canInterrupt:Z
ifeq 3
2: aload 0
invokevirtual sun.rmi.server.Activation$GroupEntry$Watchdog.interrupt:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/rmi/server/Activation$GroupEntry$Watchdog;
void noRestart();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield sun.rmi.server.Activation$GroupEntry$Watchdog.shouldRestart:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/rmi/server/Activation$GroupEntry$Watchdog;
}
SourceFile: "Activation.java"
NestHost: sun.rmi.server.Activation
InnerClasses:
private GroupEntry = sun.rmi.server.Activation$GroupEntry of sun.rmi.server.Activation
private Watchdog = sun.rmi.server.Activation$GroupEntry$Watchdog of sun.rmi.server.Activation$GroupEntry