[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.44.2.2 and 1.45

version 1.44.2.2, 1999/06/21 14:46:36 version 1.45, 1999/05/15 16:42:48
Line 404  restart:
Line 404  restart:
                 s = splsoftnet();                  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)
                         error = so->so_error;                          snderr(so->so_error);
                         so->so_error = 0;  
                         splx(s);  
                         goto release;  
                 }  
                 if ((so->so_state & SS_ISCONNECTED) == 0) {                  if ((so->so_state & SS_ISCONNECTED) == 0) {
                         if (so->so_proto->pr_flags & PR_CONNREQUIRED) {                          if (so->so_proto->pr_flags & PR_CONNREQUIRED) {
                                 if ((so->so_state & SS_ISCONFIRMING) == 0 &&                                  if ((so->so_state & SS_ISCONFIRMING) == 0 &&
Line 496  nopages:
Line 492  nopages:
                                         break;                                          break;
                                 }                                  }
                         } while (space > 0 && atomic);                          } while (space > 0 && atomic);
   
                         s = splsoftnet();  
   
                         if (so->so_state & SS_CANTSENDMORE)  
                                 snderr(EPIPE);  
   
                         if (dontroute)                          if (dontroute)
                                 so->so_options |= SO_DONTROUTE;                                  so->so_options |= SO_DONTROUTE;
                         if (resid > 0)                          if (resid > 0)
                                 so->so_state |= SS_MORETOCOME;                                  so->so_state |= SS_MORETOCOME;
                         error = (*so->so_proto->pr_usrreq)(so,  
                             (flags & MSG_OOB) ? PRU_SENDOOB : PRU_SEND,                          s = splsoftnet();                       /* XXX */
                             top, addr, control, p);                          if (so->so_state & SS_CANTSENDMORE)
                                   error = EPIPE;
                           else
                                   error = (*so->so_proto->pr_usrreq)(so,
                                           (flags & MSG_OOB) ? PRU_SENDOOB : PRU_SEND,
                                           top, addr, control, p);
                           splx(s);
   
                         if (dontroute)                          if (dontroute)
                                 so->so_options &= ~SO_DONTROUTE;                                  so->so_options &= ~SO_DONTROUTE;
                         if (resid > 0)                          if (resid > 0)
                                 so->so_state &= ~SS_MORETOCOME;                                  so->so_state &= ~SS_MORETOCOME;
                         splx(s);  
   
                         clen = 0;                          clen = 0;
                         control = 0;                          control = 0;
                         top = 0;                          top = 0;

Legend:
Removed from v.1.44.2.2  
changed lines
  Added in v.1.45

CVSweb <webmaster@jp.NetBSD.org>