From ce1a281c8343c229449443707a2cd5ee3fd38838 Mon Sep 17 00:00:00 2001 From: Matthias Wirth Date: Mon, 16 Sep 2024 13:24:40 +0200 Subject: [PATCH] better serial debugging timestamps --- net_io.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/net_io.c b/net_io.c index f8fd78b5..8acd2d89 100644 --- a/net_io.c +++ b/net_io.c @@ -4433,13 +4433,13 @@ static int readClient(struct client *c, int64_t now) { nread = recv(c->fd, c->buf + c->buflen, left, 0); } else { // read instead of recv for modesbeast / gns-hulc .... - if (Modes.debug_serial) { - fprintTimePrecise(stderr, now); + if (0 && Modes.debug_serial) { + fprintTimePrecise(stderr, mstime()); fprintf(stderr, " serial read ... fd: %d maxbytes: %d\n", c->fd, left); } nread = read(c->fd, c->buf + c->buflen, left); - if (Modes.debug_serial) { - fprintTimePrecise(stderr, now); + if (nread > -1 && Modes.debug_serial) { + fprintTimePrecise(stderr, mstime()); fprintf(stderr, " serial read return value: %d\n", nread); } } @@ -4459,6 +4459,9 @@ static int readClient(struct client *c, int64_t now) { return 0; } // Other errors + if (!c->remote) { + fprintf(stderr, "Serial client read error: %s\n", strerror(err)); + } if (Modes.debug_net) { fprintf(stderr, "%s: Socket Error: %s: %s port %s (fd %d, SendQ %d, RecvQ %d)\n", c->service->descr, strerror(err), c->host, c->port, @@ -5420,7 +5423,7 @@ void modesNetPeriodicWork(void) { Modes.services_out.event_progress = 0; if (Modes.debug_serial) { - fprintTimePrecise(stderr, now); fprintf(stderr, " event count %d wait_ms %d\n", Modes.net_event_count, (int) wait_ms); + fprintTimePrecise(stderr, mstime()); fprintf(stderr, " event count %d wait_ms %d\n", Modes.net_event_count, (int) wait_ms); } if (0 && Modes.net_event_count > 0) { @@ -5465,18 +5468,19 @@ void modesNetPeriodicWork(void) { if (Modes.sdrInitialized && (Modes.sdr_type == SDR_MODESBEAST || Modes.sdr_type == SDR_GNS)) { if (!Modes.serial_client) { if (Modes.debug_serial) { - fprintTimePrecise(stderr, now); + fprintTimePrecise(stderr, mstime()); fprintf(stderr, " serial: creating socket client ... \n"); } Modes.serial_client = createSocketClient(Modes.beast_in_service, Modes.beast_fd); if (Modes.debug_serial) { - fprintTimePrecise(stderr, now); + fprintTimePrecise(stderr, mstime()); fprintf(stderr, " serial: creating socket client ... done\n"); } } if (Modes.serial_client->service) { modesReadFromClient(Modes.serial_client, mb); - } else { + } + if (!Modes.serial_client->service) { fprintf(stderr, "Serial client closed unexpectedly, exiting!\n"); setExit(2); }