Improve rigctld printout when TCP session is aborted

pull/1432/head
Mike Black W9MDB 2023-11-14 10:23:14 -06:00
rodzic f57b7cba71
commit 8478367223
3 zmienionych plików z 30 dodań i 0 usunięć

Wyświetl plik

@ -1025,6 +1025,7 @@ void *multicast_receiver(void *arg)
#ifdef __MINGW32__
// Windows cannot bind to multicast group addresses for some unknown reason
dest_addr.sin_addr.s_addr = htonl(INADDR_ANY);
rig_debug(RIG_DEBUG_ERR, "%s(%d): INADDR_ANY=%x,%x\n", htonl(INADDR_ANY), INADDR_ANY);
#else
dest_addr.sin_addr.s_addr = inet_addr(args->multicast_addr);
#endif

Wyświetl plik

@ -720,9 +720,18 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
if ((retcode = scanfc(fin, "%c", &cmd)) < 1)
{
if (last_cmd==0)
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#1? retcode=%d, last_cmd=[empty]\n",
__func__,
retcode);
}
else
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#1? retcode=%d, last_cmd=%c\n",
__func__,
retcode, last_cmd);
}
return (RIGCTL_PARSE_ERROR);
}

Wyświetl plik

@ -867,6 +867,26 @@ int main(int argc, char *argv[])
freeaddrinfo(saved_result); /* No longer needed */
exit(2);
}
int optval = 1;
#ifdef __MINGW32__
if (setsockopt(sock_listen, SOL_SOCKET, SO_REUSEADDR, (PCHAR)&optval, sizeof(optval)) < 0)
#else
if (setsockopt(sock_listen, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)) < 0)
#endif
{
rig_debug(RIG_DEBUG_ERR, "%s: error enabling UDP address reuse: %s\n", __func__,
strerror(errno));
}
// Windows does not have SO_REUSEPORT. However, SO_REUSEADDR works in a similar way.
#if defined(SO_REUSEPORT)
if (setsockopt(sock_listen, SOL_SOCKET, SO_REUSEPORT, &optval, sizeof(optval)) < 0)
{
rig_debug(RIG_DEBUG_ERR, "%s: error enabling UDP port reuse: %s\n", __func__,
strerror(errno));
}
#endif
#if 0
if (setsockopt(sock_listen,