| version 1.83.2.6, 2004/09/21 13:35:17 |
version 1.83.2.7, 2005/01/24 14:34:28 |
| Line 936 soreceive(struct socket *so, struct mbuf |
|
| Line 936 soreceive(struct socket *so, struct mbuf |
|
| struct mbuf **mp0, struct mbuf **controlp, int *flagsp) |
struct mbuf **mp0, struct mbuf **controlp, int *flagsp) |
| { |
{ |
| struct lwp *l; |
struct lwp *l; |
| struct proc *p; |
|
| struct mbuf *m, **mp; |
struct mbuf *m, **mp; |
| int flags, len, error, s, offset, moff, type, orig_resid; |
int flags, len, error, s, offset, moff, type, orig_resid; |
| const struct protosw *pr; |
const struct protosw *pr; |
| Line 948 soreceive(struct socket *so, struct mbuf |
|
| Line 947 soreceive(struct socket *so, struct mbuf |
|
| type = 0; |
type = 0; |
| orig_resid = uio->uio_resid; |
orig_resid = uio->uio_resid; |
| l = uio->uio_lwp; |
l = uio->uio_lwp; |
| p = l->l_proc; |
|
| |
|
| if (paddr) |
if (paddr) |
| *paddr = 0; |
*paddr = 0; |
| Line 1056 soreceive(struct socket *so, struct mbuf |
|
| Line 1054 soreceive(struct socket *so, struct mbuf |
|
| * While we process the initial mbufs containing address and control |
* While we process the initial mbufs containing address and control |
| * info, we save a copy of m->m_nextpkt into nextrecord. |
* info, we save a copy of m->m_nextpkt into nextrecord. |
| */ |
*/ |
| if (p) |
if (l) |
| p->p_stats->p_ru.ru_msgrcv++; |
l->l_proc->p_stats->p_ru.ru_msgrcv++; |
| KASSERT(m == so->so_rcv.sb_mb); |
KASSERT(m == so->so_rcv.sb_mb); |
| SBLASTRECORDCHK(&so->so_rcv, "soreceive 1"); |
SBLASTRECORDCHK(&so->so_rcv, "soreceive 1"); |
| SBLASTMBUFCHK(&so->so_rcv, "soreceive 1"); |
SBLASTMBUFCHK(&so->so_rcv, "soreceive 1"); |
| Line 1096 soreceive(struct socket *so, struct mbuf |
|
| Line 1094 soreceive(struct socket *so, struct mbuf |
|
| mbuf_removed = 1; |
mbuf_removed = 1; |
| if (controlp) { |
if (controlp) { |
| struct domain *dom = pr->pr_domain; |
struct domain *dom = pr->pr_domain; |
| if (dom->dom_externalize && p && |
if (dom->dom_externalize && l && |
| mtod(m, struct cmsghdr *)->cmsg_type == |
mtod(m, struct cmsghdr *)->cmsg_type == |
| SCM_RIGHTS) |
SCM_RIGHTS) |
| error = (*dom->dom_externalize)(m, l); |
error = (*dom->dom_externalize)(m, l); |