summaryrefslogtreecommitdiff
path: root/gdb/guile/scm-ports.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/guile/scm-ports.c')
-rw-r--r--gdb/guile/scm-ports.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/guile/scm-ports.c b/gdb/guile/scm-ports.c
index 57d3b18f962..114b35846ed 100644
--- a/gdb/guile/scm-ports.c
+++ b/gdb/guile/scm-ports.c
@@ -272,6 +272,7 @@ ioscm_write (SCM port, const void *data, size_t size)
if (scm_is_eq (port, input_port_scm))
return;
+ gdbscm_gdb_exception exc {};
try
{
if (scm_is_eq (port, error_port_scm))
@@ -281,8 +282,9 @@ ioscm_write (SCM port, const void *data, size_t size)
}
catch (const gdb_exception &except)
{
- GDBSCM_HANDLE_GDB_EXCEPTION (except);
+ exc = unpack (except);
}
+ GDBSCM_HANDLE_GDB_EXCEPTION (exc);
}
/* Flush gdb's stdout or stderr. */