[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.19 and 1.20

version 1.19, 1995/05/23 00:19:30 version 1.20, 1995/08/12 23:59:11
Line 106  sobind(so, nam)
Line 106  sobind(so, nam)
         struct socket *so;          struct socket *so;
         struct mbuf *nam;          struct mbuf *nam;
 {  {
         int s = splnet();          int s = splsoftnet();
         int error;          int error;
   
         error =          error =
Line 121  solisten(so, backlog)
Line 121  solisten(so, backlog)
         register struct socket *so;          register struct socket *so;
         int backlog;          int backlog;
 {  {
         int s = splnet(), error;          int s = splsoftnet(), error;
   
         error =          error =
             (*so->so_proto->pr_usrreq)(so, PRU_LISTEN,              (*so->so_proto->pr_usrreq)(so, PRU_LISTEN,
Line 165  int
Line 165  int
 soclose(so)  soclose(so)
         register struct socket *so;          register struct socket *so;
 {  {
         int s = splnet();               /* conservative */          int s = splsoftnet();           /* conservative */
         int error = 0;          int error = 0;
   
         if (so->so_options & SO_ACCEPTCONN) {          if (so->so_options & SO_ACCEPTCONN) {
Line 210  discard:
Line 210  discard:
 }  }
   
 /*  /*
  * Must be called at splnet...   * Must be called at splsoftnet...
  */   */
 int  int
 soabort(so)  soabort(so)
Line 227  soaccept(so, nam)
Line 227  soaccept(so, nam)
         register struct socket *so;          register struct socket *so;
         struct mbuf *nam;          struct mbuf *nam;
 {  {
         int s = splnet();          int s = splsoftnet();
         int error;          int error;
   
         if ((so->so_state & SS_NOFDREF) == 0)          if ((so->so_state & SS_NOFDREF) == 0)
Line 249  soconnect(so, nam)
Line 249  soconnect(so, nam)
   
         if (so->so_options & SO_ACCEPTCONN)          if (so->so_options & SO_ACCEPTCONN)
                 return (EOPNOTSUPP);                  return (EOPNOTSUPP);
         s = splnet();          s = splsoftnet();
         /*          /*
          * If protocol is connection-based, can only connect once.           * If protocol is connection-based, can only connect once.
          * Otherwise, if connected, try to disconnect first.           * Otherwise, if connected, try to disconnect first.
Line 272  soconnect2(so1, so2)
Line 272  soconnect2(so1, so2)
         register struct socket *so1;          register struct socket *so1;
         struct socket *so2;          struct socket *so2;
 {  {
         int s = splnet();          int s = splsoftnet();
         int error;          int error;
   
         error = (*so1->so_proto->pr_usrreq)(so1, PRU_CONNECT2,          error = (*so1->so_proto->pr_usrreq)(so1, PRU_CONNECT2,
Line 285  int
Line 285  int
 sodisconnect(so)  sodisconnect(so)
         register struct socket *so;          register struct socket *so;
 {  {
         int s = splnet();          int s = splsoftnet();
         int error;          int error;
   
         if ((so->so_state & SS_ISCONNECTED) == 0) {          if ((so->so_state & SS_ISCONNECTED) == 0) {
Line 362  restart:
Line 362  restart:
         if (error = sblock(&so->so_snd, SBLOCKWAIT(flags)))          if (error = sblock(&so->so_snd, SBLOCKWAIT(flags)))
                 goto out;                  goto out;
         do {          do {
                 s = splnet();                  s = splsoftnet();
                 if (so->so_state & SS_CANTSENDMORE)                  if (so->so_state & SS_CANTSENDMORE)
                         snderr(EPIPE);                          snderr(EPIPE);
                 if (so->so_error)                  if (so->so_error)
Line 455  nopages:
Line 455  nopages:
                     } while (space > 0 && atomic);                      } while (space > 0 && atomic);
                     if (dontroute)                      if (dontroute)
                             so->so_options |= SO_DONTROUTE;                              so->so_options |= SO_DONTROUTE;
                     s = splnet();                               /* XXX */                      s = splsoftnet();                           /* XXX */
                     error = (*so->so_proto->pr_usrreq)(so,                      error = (*so->so_proto->pr_usrreq)(so,
                         (flags & MSG_OOB) ? PRU_SENDOOB : PRU_SEND,                          (flags & MSG_OOB) ? PRU_SENDOOB : PRU_SEND,
                         top, addr, control);                          top, addr, control);
Line 547  bad:
Line 547  bad:
 restart:  restart:
         if (error = sblock(&so->so_rcv, SBLOCKWAIT(flags)))          if (error = sblock(&so->so_rcv, SBLOCKWAIT(flags)))
                 return (error);                  return (error);
         s = splnet();          s = splsoftnet();
   
         m = so->so_rcv.sb_mb;          m = so->so_rcv.sb_mb;
         /*          /*
Line 698  dontblock:
Line 698  dontblock:
                 if (mp == 0) {                  if (mp == 0) {
                         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 = splnet();                          s = splsoftnet();
                 } 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.19  
changed lines
  Added in v.1.20

CVSweb <webmaster@jp.NetBSD.org>