CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2020/01/15 06:17:35
Modified files:
sys/kern : uipc_socket.c uipc_socket2.c uipc_syscalls.c
sys/nfs : nfs_socket.c nfs_syscalls.c
sys/sys : socketvar.h time.h
Log message:
Keep socket timeout intervals in nsecs and use them with tsleep_nsec(9).
Introduce and use TIMEVAL_TO_NSEC() to convert SO_RCVTIMEO/SO_SNDTIMEO
specified values into nanoseconds. As a side effect it is now possible
to specify a timeout larger that (USHRT_MAX / 100) seconds.
To keep code simple `so_linger' now represents a number of seconds with
0 meaning no timeout or 'infinity'.
Yes, the 0 -> INFSLP API change makes conversions complicated as many
timeout holders are still memset()'d.
Inputs from cheloha@ and bluhm@, ok bluhm@