Deleted Added
full compact
sdp_main.c (233198) sdp_main.c (243882)
1
2/*-
3 * Copyright (c) 1982, 1986, 1988, 1990, 1993, 1995
4 * The Regents of the University of California. All rights reserved.
5 * Copyright (c) 2004 The FreeBSD Foundation. All rights reserved.
6 * Copyright (c) 2004-2008 Robert N. M. Watson. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 914 unchanged lines hidden (view full) ---

923 struct mbuf *n;
924 int error;
925 int cnt;
926
927 error = 0;
928 ssk = sdp_sk(so);
929 KASSERT(m->m_flags & M_PKTHDR,
930 ("sdp_send: %p no packet header", m));
1
2/*-
3 * Copyright (c) 1982, 1986, 1988, 1990, 1993, 1995
4 * The Regents of the University of California. All rights reserved.
5 * Copyright (c) 2004 The FreeBSD Foundation. All rights reserved.
6 * Copyright (c) 2004-2008 Robert N. M. Watson. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 914 unchanged lines hidden (view full) ---

923 struct mbuf *n;
924 int error;
925 int cnt;
926
927 error = 0;
928 ssk = sdp_sk(so);
929 KASSERT(m->m_flags & M_PKTHDR,
930 ("sdp_send: %p no packet header", m));
931 M_PREPEND(m, SDP_HEAD_SIZE, M_WAIT);
931 M_PREPEND(m, SDP_HEAD_SIZE, M_WAITOK);
932 mtod(m, struct sdp_bsdh *)->mid = SDP_MID_DATA;
933 for (n = m, cnt = 0; n->m_next; n = n->m_next)
934 cnt++;
935 if (cnt > SDP_MAX_SEND_SGES) {
932 mtod(m, struct sdp_bsdh *)->mid = SDP_MID_DATA;
933 for (n = m, cnt = 0; n->m_next; n = n->m_next)
934 cnt++;
935 if (cnt > SDP_MAX_SEND_SGES) {
936 n = m_collapse(m, M_WAIT, SDP_MAX_SEND_SGES);
936 n = m_collapse(m, M_WAITOK, SDP_MAX_SEND_SGES);
937 if (n == NULL) {
938 m_freem(m);
939 return (EMSGSIZE);
940 }
941 m = n;
942 for (cnt = 0; n->m_next; n = n->m_next)
943 cnt++;
944 }

--- 246 unchanged lines hidden (view full) ---

1191soreceive_rcvoob(struct socket *so, struct uio *uio, int flags)
1192{
1193 struct protosw *pr = so->so_proto;
1194 struct mbuf *m;
1195 int error;
1196
1197 KASSERT(flags & MSG_OOB, ("soreceive_rcvoob: (flags & MSG_OOB) == 0"));
1198
937 if (n == NULL) {
938 m_freem(m);
939 return (EMSGSIZE);
940 }
941 m = n;
942 for (cnt = 0; n->m_next; n = n->m_next)
943 cnt++;
944 }

--- 246 unchanged lines hidden (view full) ---

1191soreceive_rcvoob(struct socket *so, struct uio *uio, int flags)
1192{
1193 struct protosw *pr = so->so_proto;
1194 struct mbuf *m;
1195 int error;
1196
1197 KASSERT(flags & MSG_OOB, ("soreceive_rcvoob: (flags & MSG_OOB) == 0"));
1198
1199 m = m_get(M_WAIT, MT_DATA);
1199 m = m_get(M_WAITOK, MT_DATA);
1200 error = (*pr->pr_usrreqs->pru_rcvoob)(so, m, flags & MSG_PEEK);
1201 if (error)
1202 goto bad;
1203 do {
1204 error = uiomove(mtod(m, void *),
1205 (int) min(uio->uio_resid, m->m_len), uio);
1206 m = m_free(m);
1207 } while (uio->uio_resid && error == 0 && m);

--- 138 unchanged lines hidden (view full) ---

1346 SB_EMPTY_FIXUP(sb);
1347 n->m_next = NULL;
1348 }
1349 /* Copy the remainder. */
1350 if (len > 0) {
1351 KASSERT(sb->sb_mb != NULL,
1352 ("%s: len > 0 && sb->sb_mb empty", __func__));
1353
1200 error = (*pr->pr_usrreqs->pru_rcvoob)(so, m, flags & MSG_PEEK);
1201 if (error)
1202 goto bad;
1203 do {
1204 error = uiomove(mtod(m, void *),
1205 (int) min(uio->uio_resid, m->m_len), uio);
1206 m = m_free(m);
1207 } while (uio->uio_resid && error == 0 && m);

--- 138 unchanged lines hidden (view full) ---

1346 SB_EMPTY_FIXUP(sb);
1347 n->m_next = NULL;
1348 }
1349 /* Copy the remainder. */
1350 if (len > 0) {
1351 KASSERT(sb->sb_mb != NULL,
1352 ("%s: len > 0 && sb->sb_mb empty", __func__));
1353
1354 m = m_copym(sb->sb_mb, 0, len, M_DONTWAIT);
1354 m = m_copym(sb->sb_mb, 0, len, M_NOWAIT);
1355 if (m == NULL)
1356 len = 0; /* Don't flush data from sockbuf. */
1357 else
1358 uio->uio_resid -= m->m_len;
1359 if (*mp0 != NULL)
1360 n->m_next = m;
1361 else
1362 *mp0 = m;

--- 600 unchanged lines hidden ---
1355 if (m == NULL)
1356 len = 0; /* Don't flush data from sockbuf. */
1357 else
1358 uio->uio_resid -= m->m_len;
1359 if (*mp0 != NULL)
1360 n->m_next = m;
1361 else
1362 *mp0 = m;

--- 600 unchanged lines hidden ---