diff options
author | Tom Tromey <tromey@adacore.com> | 2023-08-29 07:20:22 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2023-11-27 12:55:14 -0700 |
commit | ad3cf8c64e6e4794fc48d28c90f20cbbfdc51ca4 (patch) | |
tree | 8c8c2b1ff861a6a9a2812522fb95ec9e7feec779 /gdb/ser-base.h | |
parent | 602971b3863dcecf2daa5ffc0853a75a3131446c (diff) | |
download | binutils-ad3cf8c64e6e4794fc48d28c90f20cbbfdc51ca4.zip binutils-ad3cf8c64e6e4794fc48d28c90f20cbbfdc51ca4.tar.gz binutils-ad3cf8c64e6e4794fc48d28c90f20cbbfdc51ca4.tar.bz2 |
Change serial_setbaudrate to throw exception
remote.c has this code:
if (serial_setbaudrate (rs->remote_desc, baud_rate))
{
/* The requested speed could not be set. Error out to
top level after closing remote_desc. Take care to
set remote_desc to NULL to avoid closing remote_desc
more than once. */
serial_close (rs->remote_desc);
rs->remote_desc = NULL;
perror_with_name (name);
The perror here cannot be correct, because if serial_setbaudrate did
set errno, it may be obscured by serial_close.
This patch changes serial_setbaudrate to throw an exception instead.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30770
Diffstat (limited to 'gdb/ser-base.h')
-rw-r--r-- | gdb/ser-base.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/ser-base.h b/gdb/ser-base.h index 27f9f34..aeb7a4d 100644 --- a/gdb/ser-base.h +++ b/gdb/ser-base.h @@ -40,7 +40,7 @@ extern int ser_base_set_tty_state (struct serial *scb, extern void ser_base_print_tty_state (struct serial *scb, serial_ttystate ttystate, struct ui_file *stream); -extern int ser_base_setbaudrate (struct serial *scb, int rate); +extern void ser_base_setbaudrate (struct serial *scb, int rate); extern int ser_base_setstopbits (struct serial *scb, int num); extern int ser_base_setparity (struct serial *scb, int parity); extern int ser_base_drain_output (struct serial *scb); |