GP-0: Trying to resolve a GDB hang in CI.

This commit is contained in:
Dan 2021-04-29 09:58:12 -04:00
parent 164cb7d1ba
commit b04391bca4

View file

@ -15,7 +15,7 @@
*/ */
package agent.gdb.manager.impl; package agent.gdb.manager.impl;
import static ghidra.async.AsyncUtils.*; import static ghidra.async.AsyncUtils.loop;
import java.io.*; import java.io.*;
import java.util.*; import java.util.*;
@ -654,6 +654,9 @@ public class GdbManagerImpl implements GdbManager {
if (gdbWaiter != null) { if (gdbWaiter != null) {
gdbWaiter.interrupt(); gdbWaiter.interrupt();
} }
if (gdb != null) {
gdb.destroyForcibly();
}
try { try {
if (cliThread != null) { if (cliThread != null) {
cliThread.interrupt(); cliThread.interrupt();
@ -667,9 +670,6 @@ public class GdbManagerImpl implements GdbManager {
catch (IOException e) { catch (IOException e) {
Msg.error(this, "Problem closing PTYs to GDB."); Msg.error(this, "Problem closing PTYs to GDB.");
} }
if (gdb != null) {
gdb.destroyForcibly();
}
DebuggerModelTerminatingException reason = DebuggerModelTerminatingException reason =
new DebuggerModelTerminatingException(GDB_IS_TERMINATING); new DebuggerModelTerminatingException(GDB_IS_TERMINATING);
cmdLock.dispose(reason); cmdLock.dispose(reason);