summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/base/remote_gdb.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/base/remote_gdb.cc b/src/base/remote_gdb.cc
index e033bea9c..a22ba9fbe 100644
--- a/src/base/remote_gdb.cc
+++ b/src/base/remote_gdb.cc
@@ -249,6 +249,12 @@ BaseRemoteGDB::InputEvent::InputEvent(BaseRemoteGDB *g, int fd, int e)
void
BaseRemoteGDB::InputEvent::process(int revent)
{
+ if (gdb->trapEvent.scheduled()) {
+ warn("GDB trap event has already been scheduled! "
+ "Ignoring this input event.");
+ return;
+ }
+
if (revent & POLLIN) {
gdb->trapEvent.type(SIGILL);
gdb->scheduleInstCommitEvent(&gdb->trapEvent, 0);