diff options
author | ache <ache@FreeBSD.org> | 1999-04-24 18:22:34 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1999-04-24 18:22:34 +0000 |
commit | cfd84c8eac61e630bf4ce54cbd2636cb3e3f3173 (patch) | |
tree | 0a1fdb4902fec8fa8d92f4df33ac62606c678a74 /sys/kern/uipc_socket.c | |
parent | e62810c9b1ff08af36e260c4fbf35fe7ecc8669b (diff) | |
download | FreeBSD-src-cfd84c8eac61e630bf4ce54cbd2636cb3e3f3173.zip FreeBSD-src-cfd84c8eac61e630bf4ce54cbd2636cb3e3f3173.tar.gz |
Lite2 bugfixes merge:
so_linger is in seconds, not in 1/HZ
range checking in SO_*TIMEO was wrong
PR: 11252
Diffstat (limited to 'sys/kern/uipc_socket.c')
-rw-r--r-- | sys/kern/uipc_socket.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index ebfe282..f973703 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_socket.c 8.3 (Berkeley) 4/15/94 - * $Id: uipc_socket.c,v 1.54 1999/02/02 07:23:28 fenner Exp $ + * $Id: uipc_socket.c,v 1.55 1999/02/16 10:49:49 dfr Exp $ */ #include <sys/param.h> @@ -258,7 +258,7 @@ soclose(so) goto drop; while (so->so_state & SS_ISCONNECTED) { error = tsleep((caddr_t)&so->so_timeo, - PSOCK | PCATCH, "soclos", so->so_linger); + PSOCK | PCATCH, "soclos", so->so_linger * hz); if (error) break; } @@ -1049,7 +1049,7 @@ sosetopt(so, sopt) if (error) goto bad; - if (tv.tv_sec > SHRT_MAX / hz - hz) { + if (tv.tv_sec * hz + tv.tv_usec / tick > SHRT_MAX) { error = EDOM; goto bad; } |