Add setvbuf to rigctl.c and rigctld.d to overcome non-buffering of stderr on mingw builds.

Should also speed up other OS's too since only 1 flush will be executed instead of 2
pull/1130/head
Mike Black W9MDB 2022-10-02 08:06:50 -05:00
rodzic 63805eb427
commit 4dbce1a0aa
2 zmienionych plików z 9 dodań i 0 usunięć

Wyświetl plik

@ -151,6 +151,10 @@ int main(int argc, char *argv[])
int ext_resp = 0;
int i;
char rigstartup[1024];
char vbuf[1024];
int err = setvbuf(stderr, vbuf, _IOFBF, sizeof(vbuf));
if (err) rig_debug(RIG_DEBUG_ERR, "%s: setvbuf err=%s\n", __func__, strerror(err));
while (1)
{

Wyświetl plik

@ -267,6 +267,7 @@ int main(int argc, char *argv[])
char host[NI_MAXHOST];
char serv[NI_MAXSERV];
char rigstartup[1024];
char vbuf[1024];
#if HAVE_SIGACTION
struct sigaction act;
#endif
@ -282,6 +283,10 @@ int main(int argc, char *argv[])
is_rigctld = 1;
int err = setvbuf(stderr, vbuf, _IOFBF, sizeof(vbuf));
if (err) rig_debug(RIG_DEBUG_ERR, "%s: setvbuf err=%s\n", __func__, strerror(err));
while (1)
{
int c;