I'm the maintainer of Hamlib.
I think this is recent behavior
Even thought the timeval for the select statement is 1 second exactly it ends up being almost 2 seconds.
You can see from the timing on the debug messages that the
2022-03-10T23:15:03.068356-0600: ../../src/src/iofunc.c(721) trace
2022-03-10T23:15:03.068356-0600: port_wait_for_data_direct: sec=1, usec=0
2022-03-10T23:15:05.021620-0600: port_wait_for_data_direct: after port_select
2022-03-10T23:15:05.021620-0600: read_string_generic(): Timed out 1.953 seconds after 0 chars, direct=1
MINGW64_NT-10.0-22000 DESKTOP-VP5ISPC 3.3.3-341.x86_64 2022-01-18 13:00 UTC x86_64 Msys
static int port_wait_for_data_direct(hamlib_port_t *p)
{
fd_set rfds, efds;
int fd = p->fd;
struct timeval tv, tv_timeout;
int result;
I'm the maintainer of Hamlib. I think this is recent behavior Even thought the timeval for the select statement is 1 second exactly it ends up being almost 2 seconds. You can see from the timing on the debug messages that the 2022-03-10T23:15:03.068356-0600: ../../src/src/iofunc.c(721) trace 2022-03-10T23:15:03.068356-0600: port_wait_for_data_direct: sec=1, usec=0 2022-03-10T23:15:05.021620-0600: port_wait_for_data_direct: after port_select 2022-03-10T23:15:05.021620-0600: read_string_generic(): Timed out 1.953 seconds after 0 chars, direct=1
MINGW64_NT-10.0-22000 DESKTOP-VP5ISPC 3.3.3-341.x86_64 2022-01-18 13:00 UTC x86_64 Msys
static int port_wait_for_data_direct(hamlib_port_t *p) {