public class oadd.org.apache.drill.exec.testing.PauseInjection extends oadd.org.apache.drill.exec.testing.Injection
{
private final oadd.org.apache.drill.common.concurrent.ExtendedLatch latch;
private void <init>(java.lang.String, int, java.lang.String, java.lang.String, int, long) throws oadd.org.apache.drill.exec.testing.InjectionConfigurationException
{
oadd.org.apache.drill.common.concurrent.ExtendedLatch v;
oadd.org.apache.drill.exec.testing.PauseInjection v;
long v;
int v, v;
java.lang.String v, v, v;
v := @this: oadd.org.apache.drill.exec.testing.PauseInjection;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: long;
specialinvoke v.<oadd.org.apache.drill.exec.testing.Injection: void <init>(java.lang.String,int,java.lang.String,java.lang.String,int,int,long)>(v, v, v, v, v, 1, v);
v = new oadd.org.apache.drill.common.concurrent.ExtendedLatch;
specialinvoke v.<oadd.org.apache.drill.common.concurrent.ExtendedLatch: void <init>(int)>(1);
v.<oadd.org.apache.drill.exec.testing.PauseInjection: oadd.org.apache.drill.common.concurrent.ExtendedLatch latch> = v;
return;
}
public void pause()
{
oadd.org.apache.drill.common.concurrent.ExtendedLatch v, v;
oadd.org.apache.drill.exec.testing.PauseInjection v;
long v, v;
java.util.concurrent.TimeUnit v;
byte v;
java.lang.InterruptedException v;
boolean v;
v := @this: oadd.org.apache.drill.exec.testing.PauseInjection;
v = virtualinvoke v.<oadd.org.apache.drill.exec.testing.PauseInjection: boolean injectNow()>();
if v != 0 goto label;
return;
label:
v = virtualinvoke v.<oadd.org.apache.drill.exec.testing.PauseInjection: long getMsPause()>();
v = v cmp 0L;
if v <= 0 goto label;
label:
v = v.<oadd.org.apache.drill.exec.testing.PauseInjection: oadd.org.apache.drill.common.concurrent.ExtendedLatch latch>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.testing.PauseInjection: long getMsPause()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
virtualinvoke v.<oadd.org.apache.drill.common.concurrent.ExtendedLatch: boolean await(long,java.util.concurrent.TimeUnit)>(v, v);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<oadd.org.apache.drill.exec.testing.PauseInjection: void unpause()>();
goto label;
label:
v = v.<oadd.org.apache.drill.exec.testing.PauseInjection: oadd.org.apache.drill.common.concurrent.ExtendedLatch latch>;
virtualinvoke v.<oadd.org.apache.drill.common.concurrent.ExtendedLatch: void awaitUninterruptibly()>();
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
public void interruptiblePause() throws java.lang.InterruptedException
{
oadd.org.apache.drill.common.concurrent.ExtendedLatch v;
oadd.org.apache.drill.exec.testing.PauseInjection v;
boolean v;
v := @this: oadd.org.apache.drill.exec.testing.PauseInjection;
v = virtualinvoke v.<oadd.org.apache.drill.exec.testing.PauseInjection: boolean injectNow()>();
if v != 0 goto label;
return;
label:
v = v.<oadd.org.apache.drill.exec.testing.PauseInjection: oadd.org.apache.drill.common.concurrent.ExtendedLatch latch>;
virtualinvoke v.<oadd.org.apache.drill.common.concurrent.ExtendedLatch: void await()>();
return;
}
public void unpause()
{
oadd.org.apache.drill.common.concurrent.ExtendedLatch v;
oadd.org.apache.drill.exec.testing.PauseInjection v;
v := @this: oadd.org.apache.drill.exec.testing.PauseInjection;
v = v.<oadd.org.apache.drill.exec.testing.PauseInjection: oadd.org.apache.drill.common.concurrent.ExtendedLatch latch>;
virtualinvoke v.<oadd.org.apache.drill.common.concurrent.ExtendedLatch: void countDown()>();
return;
}
}