[BACK]Return to uipc_socket.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / kern

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/kern/uipc_socket.c between version 1.56 and 1.56.4.1

version 1.56, 2001/04/13 23:30:10 version 1.56.4.1, 2001/10/01 12:46:57
Line 353  sosend(struct socket *so, struct mbuf *a
Line 353  sosend(struct socket *so, struct mbuf *a
 {  {
         struct proc     *p;          struct proc     *p;
         struct mbuf     **mp, *m;          struct mbuf     **mp, *m;
         long            space, len, resid;          long            space, len, resid, clen, mlen;
         int             clen, error, s, dontroute, mlen, atomic;          int             error, s, dontroute, atomic;
   
         p = curproc;            /* XXX */          p = curproc;            /* XXX */
         clen = 0;          clen = 0;
Line 447  sosend(struct socket *so, struct mbuf *a
Line 447  sosend(struct socket *so, struct mbuf *a
                                                 goto nopages;                                                  goto nopages;
                                         mlen = MCLBYTES;                                          mlen = MCLBYTES;
 #ifdef  MAPPED_MBUFS  #ifdef  MAPPED_MBUFS
                                         len = min(MCLBYTES, resid);                                          len = lmin(MCLBYTES, resid);
 #else  #else
                                         if (atomic && top == 0) {                                          if (atomic && top == 0) {
                                                 len = min(MCLBYTES - max_hdr,                                                  len = lmin(MCLBYTES - max_hdr,
                                                     resid);                                                      resid);
                                                 m->m_data += max_hdr;                                                  m->m_data += max_hdr;
                                         } else                                          } else
                                                 len = min(MCLBYTES, resid);                                                  len = lmin(MCLBYTES, resid);
 #endif  #endif
                                         space -= len;                                          space -= len;
                                 } else {                                  } else {
 nopages:  nopages:
                                         len = min(min(mlen, resid), space);                                          len = lmin(lmin(mlen, resid), space);
                                         space -= len;                                          space -= len;
                                         /*                                          /*
                                          * For datagram protocols, leave room                                           * For datagram protocols, leave room
Line 736  soreceive(struct socket *so, struct mbuf
Line 736  soreceive(struct socket *so, struct mbuf
                         splx(s);                          splx(s);
                         error = uiomove(mtod(m, caddr_t) + moff, (int)len, uio);                          error = uiomove(mtod(m, caddr_t) + moff, (int)len, uio);
                         s = splsoftnet();                          s = splsoftnet();
                           if (error)
                                   goto release;
                 } else                  } else
                         uio->uio_resid -= len;                          uio->uio_resid -= len;
                 if (len == m->m_len - moff) {                  if (len == m->m_len - moff) {

Legend:
Removed from v.1.56  
changed lines
  Added in v.1.56.4.1

CVSweb <webmaster@jp.NetBSD.org>