I wrote:
> As best I can tell from these warnings, VS has the tv_sec field
> of struct timeval defined as something other than time_t. Because
> VS would never stoop to actually complying with the plain text of
> the POSIX standard.
Ah, seems like it's really Winsock's fault:
https://docs.microsoft.com/en-us/windows/win32/api/winsock/ns-winsock-timeval
which compares unfavorably to the POSIX wording
The <sys/time.h> header shall define the timeval structure, which
shall include at least the following members:
time_t tv_sec Seconds.
suseconds_t tv_usec Microseconds.
regards, tom lane