RootShell: hoist out synchronization

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
Jason A. Donenfeld 2018-01-09 15:19:50 +01:00
parent 14638b10ae
commit 23c09eb655

View File

@ -57,13 +57,11 @@ public class RootShell {
return false; return false;
} }
public boolean isRunning() { public synchronized boolean isRunning() {
try { try {
// Throws an exception if the process hasn't finished yet. // Throws an exception if the process hasn't finished yet.
synchronized (this) { if (process != null)
if (process != null) process.exitValue();
process.exitValue();
}
} catch (final IllegalThreadStateException ignored) { } catch (final IllegalThreadStateException ignored) {
// The existing process is still running. // The existing process is still running.
return true; return true;
@ -149,12 +147,10 @@ public class RootShell {
} }
} }
public void stop() throws IOException { public synchronized void stop() throws IOException {
synchronized (this) { if (process != null) {
if (process != null) { process.destroy();
process.destroy(); process = null;
process = null;
}
} }
} }