summaryrefslogtreecommitdiff
path: root/gdb/python/python.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/python/python.c')
-rw-r--r--gdb/python/python.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/python/python.c b/gdb/python/python.c
index 03edce9e9a2..360bed4ae94 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -52,6 +52,7 @@ static int gdbpy_should_print_stack = 0;
#include "target.h"
#include "gdbthread.h"
#include "observer.h"
+#include "interps.h"
static PyMethodDef GdbMethods[];
@@ -199,6 +200,10 @@ python_command (char *arg, int from_tty)
struct cleanup *cleanup;
cleanup = ensure_python_env (get_current_arch (), current_language);
+
+ make_cleanup_restore_integer (&interpreter_async);
+ interpreter_async = 0;
+
while (arg && *arg && isspace (*arg))
++arg;
if (arg && *arg)
@@ -378,6 +383,9 @@ execute_gdb_command (PyObject *self, PyObject *args, PyObject *kw)
char *copy = xstrdup (arg);
struct cleanup *cleanup = make_cleanup (xfree, copy);
+ make_cleanup_restore_integer (&interpreter_async);
+ interpreter_async = 0;
+
prevent_dont_repeat ();
if (to_string)
result = execute_command_to_string (copy, from_tty);