SCCS-vsn: sys/kern/uipc_mbuf.c 1.15
SCCS-vsn: sys/kern/uipc_pipe.c 4.6
SCCS-vsn: sys/kern/uipc_socket.c 4.11
SCCS-vsn: sys/kern/uipc_socket2.c 4.6
-/* uipc_mbuf.c 1.14 81/11/21 */
+/* uipc_mbuf.c 1.15 81/11/21 */
#include "../h/param.h"
#include "../h/dir.h"
#include "../h/param.h"
#include "../h/dir.h"
#include "../net/inet_systm.h" /* XXX */
#include "../h/vm.h"
#include "../net/inet_systm.h" /* XXX */
#include "../h/vm.h"
+m_reserve(mbufs)
+ int mbufs;
- int mbufs = cc / MSIZE;
if (mbstat.m_lowat + mbufs > NMBPAGES * NMBPG - 32)
return (0);
if (mbstat.m_lowat + mbufs > NMBPAGES * NMBPG - 32)
return (0);
+m_release(mbufs)
+ int mbufs;
- int mbufs = cc / MSIZE;
mbstat.m_lowat -= mbufs;
mbstat.m_hiwat = 2 * mbstat.m_lowat;
mbstat.m_lowat -= mbufs;
mbstat.m_hiwat = 2 * mbstat.m_lowat;
-/* uipc_pipe.c 4.5 81/11/21 */
+/* uipc_pipe.c 4.6 81/11/21 */
#include "../h/param.h"
#include "../h/dir.h"
#include "../h/param.h"
#include "../h/dir.h"
- if (m_reserve(PIPSIZ) == 0) {
+ if (m_reserve(PIPSIZ/MSIZE) == 0) {
u.u_error = ENOBUFS;
return (0);
}
u.u_error = ENOBUFS;
return (0);
}
-/* uipc_socket.c 4.10 81/11/21 */
+/* uipc_socket.c 4.11 81/11/21 */
#include "../h/param.h"
#include "../h/systm.h"
#include "../h/param.h"
#include "../h/systm.h"
#define rcverr(errno) { error = errno; splx(s); goto release; }
if (so->so_rcv.sb_cc == 0) {
#define rcverr(errno) { error = errno; splx(s); goto release; }
if (so->so_rcv.sb_cc == 0) {
- if ((so->so_state & SS_ISCONNECTED) == 0 &&
- (so->so_proto->pr_flags & PR_CONNREQUIRED))
- rcverr(ENOTCONN);
if (so->so_state & SS_CANTRCVMORE) {
splx(s);
goto release;
}
if (so->so_state & SS_CANTRCVMORE) {
splx(s);
goto release;
}
+ if ((so->so_state & SS_ISCONNECTED) == 0 &&
+ (so->so_proto->pr_flags & PR_CONNREQUIRED))
+ rcverr(ENOTCONN);
if (so->so_options & SO_NBIO)
rcverr (EWOULDBLOCK);
sbunlock(&so->so_rcv);
if (so->so_options & SO_NBIO)
rcverr (EWOULDBLOCK);
sbunlock(&so->so_rcv);
-/* uipc_socket2.c 4.5 81/11/21 */
+/* uipc_socket2.c 4.6 81/11/21 */
#include "../h/param.h"
#include "../h/systm.h"
#include "../h/param.h"
#include "../h/systm.h"
- if (m_reserve(cc) == 0)
+ if (m_reserve((cc*2)/MSIZE) == 0)
return (0);
sb->sb_hiwat = cc;
sb->sb_mbmax = (cc*2)/MSIZE;
return (0);
sb->sb_hiwat = cc;
sb->sb_mbmax = (cc*2)/MSIZE;
- m_release(sb->sb_hiwat);
+ m_release(sb->sb_mbmax);
sb->sb_hiwat = sb->sb_mbmax = 0;
}
sb->sb_hiwat = sb->sb_mbmax = 0;
}