diff options
| author | Alfred Perlstein <alfred@FreeBSD.org> | 2000-06-22 22:27:16 +0000 |
|---|---|---|
| committer | Alfred Perlstein <alfred@FreeBSD.org> | 2000-06-22 22:27:16 +0000 |
| commit | c6362551506242d9b1d848bfb5bb483e0e695acf (patch) | |
| tree | c942b304b5fd035b03248a2b1c7465b6304f4824 /sys/kern/uipc_socket2.c | |
| parent | 903db3b73d6c83b582642ea51825ee52914c05ac (diff) | |
Notes
Diffstat (limited to 'sys/kern/uipc_socket2.c')
| -rw-r--r-- | sys/kern/uipc_socket2.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c index 42e02a5e41e7..beb8fe50be0c 100644 --- a/sys/kern/uipc_socket2.c +++ b/sys/kern/uipc_socket2.c @@ -432,10 +432,10 @@ sbreserve(sb, cc, so, p) if ((u_quad_t)cc > (u_quad_t)sb_max * MCLBYTES / (MSIZE + MCLBYTES)) return (0); delta = (rlim_t)cc - sb->sb_hiwat; - if (p && delta >= 0 && chgsbsize(so->so_cred->cr_uid, 0) + delta > - p->p_rlimit[RLIMIT_SBSIZE].rlim_cur) + if (p && !chgsbsize(so->so_cred->cr_uid, delta, + p->p_rlimit[RLIMIT_SBSIZE].rlim_cur)) { return (0); - (void)chgsbsize(so->so_cred->cr_uid, delta); + } sb->sb_hiwat = cc; sb->sb_mbmax = min(cc * sb_efficiency, sb_max); if (sb->sb_lowat > sb->sb_hiwat) @@ -453,7 +453,7 @@ sbrelease(sb, so) { sbflush(sb); - (void)chgsbsize(so->so_cred->cr_uid, -(rlim_t)sb->sb_hiwat); + (void)chgsbsize(so->so_cred->cr_uid, -(rlim_t)sb->sb_hiwat, RLIM_INFINITY); sb->sb_hiwat = sb->sb_mbmax = 0; } |
