discord-jadx/app/src/main/java/s/a/c0.java

135 lines
3.8 KiB
Java

package s.a;
import d0.d0.f;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.LockSupport;
import kotlin.coroutines.CoroutineContext;
import s.a.q0;
/* compiled from: DefaultExecutor.kt */
public final class c0 extends q0 implements Runnable {
public static volatile Thread _thread;
public static volatile int debugStatus;
public static final long n;
public static final c0 o;
static {
Long l;
c0 c0Var = new c0();
o = c0Var;
c0Var.M(false);
TimeUnit timeUnit = TimeUnit.MILLISECONDS;
try {
l = Long.getLong("kotlinx.coroutines.DefaultExecutor.keepAlive", 1000);
} catch (SecurityException unused) {
l = 1000L;
}
n = timeUnit.toNanos(l.longValue());
}
@Override // s.a.r0
public Thread R() {
Thread thread = _thread;
if (thread == null) {
synchronized (this) {
thread = _thread;
if (thread == null) {
thread = new Thread(this, "kotlinx.coroutines.DefaultExecutor");
_thread = thread;
thread.setDaemon(true);
thread.start();
}
}
}
return thread;
}
public final synchronized void a0() {
if (b0()) {
debugStatus = 3;
this._queue = null;
this._delayed = null;
notifyAll();
}
}
public final boolean b0() {
int i = debugStatus;
return i == 2 || i == 3;
}
@Override // java.lang.Runnable
public void run() {
boolean z2;
t1 t1Var = t1.b;
t1.a.set(this);
Thread thread = null;
try {
synchronized (this) {
if (b0()) {
z2 = false;
} else {
z2 = true;
debugStatus = 1;
notifyAll();
}
}
if (z2) {
long j = Long.MAX_VALUE;
while (true) {
Thread.interrupted();
long V = V();
if (V == Long.MAX_VALUE) {
long nanoTime = System.nanoTime();
if (j == Long.MAX_VALUE) {
j = n + nanoTime;
}
long j2 = j - nanoTime;
if (j2 <= 0) {
_thread = null;
a0();
if (!U()) {
R();
return;
}
return;
}
V = f.coerceAtMost(V, j2);
} else {
j = Long.MAX_VALUE;
}
if (V > 0) {
if (b0()) {
_thread = null;
a0();
if (!U()) {
R();
return;
}
return;
}
LockSupport.parkNanos(this, V);
}
}
}
} finally {
_thread = thread;
a0();
if (!U()) {
R();
}
}
}
@Override // s.a.q0, s.a.g0
public l0 w(long j, Runnable runnable, CoroutineContext coroutineContext) {
long a = s0.a(j);
if (a >= 4611686018427387903L) {
return m1.i;
}
long nanoTime = System.nanoTime();
q0.b bVar = new q0.b(a + nanoTime, runnable);
W(nanoTime, bVar);
return bVar;
}
}