diff options
Diffstat (limited to 'gdb/python/py-unwind.c')
-rw-r--r-- | gdb/python/py-unwind.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/python/py-unwind.c b/gdb/python/py-unwind.c index acfce7d..b578373 100644 --- a/gdb/python/py-unwind.c +++ b/gdb/python/py-unwind.c @@ -539,6 +539,13 @@ pyuw_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, pyo_pending_frame.get (), NULL)); if (pyo_unwind_info == NULL) { + /* If the unwinder is cancelled due to a Ctrl-C, then propagate + the Ctrl-C as a GDB exception instead of swallowing it. */ + if (PyErr_ExceptionMatches (PyExc_KeyboardInterrupt)) + { + PyErr_Clear (); + quit (); + } gdbpy_print_stack (); return 0; } |