use proc pointer from uio rather than (sometimes unset curproc)
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Sat, 14 Mar 1992 09:08:37 +0000 (01:08 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Sat, 14 Mar 1992 09:08:37 +0000 (01:08 -0800)
SCCS-vsn: sys/kern/uipc_socket.c 7.34

usr/src/sys/kern/uipc_socket.c

index 6cd0452..e23c229 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)uipc_socket.c       7.33 (Berkeley) %G%
+ *     @(#)uipc_socket.c       7.34 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -449,7 +449,6 @@ soreceive(so, paddr, uio, mp0, controlp, flagsp)
        struct mbuf **controlp;
        int *flagsp;
 {
        struct mbuf **controlp;
        int *flagsp;
 {
-       struct proc *p = curproc;               /* XXX */
        register struct mbuf *m, **mp;
        register int flags, len, error, s, offset;
        struct protosw *pr = so->so_proto;
        register struct mbuf *m, **mp;
        register int flags, len, error, s, offset;
        struct protosw *pr = so->so_proto;
@@ -547,7 +546,8 @@ restart:
                        return (error);
                goto restart;
        }
                        return (error);
                goto restart;
        }
-       p->p_stats->p_ru.ru_msgrcv++;
+       if (uio->uio_procp)
+               uio->uio_procp->p_stats->p_ru.ru_msgrcv++;
        nextrecord = m->m_nextpkt;
        record_eor = m->m_flags & M_EOR;
        if (pr->pr_flags & PR_ADDR) {
        nextrecord = m->m_nextpkt;
        record_eor = m->m_flags & M_EOR;
        if (pr->pr_flags & PR_ADDR) {