[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 and 1.44.6.1

version 1.44, 1999/03/23 10:45:37 version 1.44.6.1, 1999/06/28 06:36:53
Line 62  soinit()
Line 62  soinit()
             "sockpl", 0, NULL, NULL, M_SOCKET);              "sockpl", 0, NULL, NULL, M_SOCKET);
 }  }
   
   #ifdef KEY
   #include <netkey/key.h>
   #endif
   
 /*  /*
  * Socket operation routines.   * Socket operation routines.
  * These routines are called by the routines in   * These routines are called by the routines in
Line 164  sofree(so)
Line 168  sofree(so)
         register struct socket *so;          register struct socket *so;
 {  {
   
         if (so->so_pcb || (so->so_state & SS_NOFDREF) == 0)          if (so->so_pcb
   #ifdef MAPPED_ADDR_ENABLED
               /*
                * MAPPED_ADDR implementation spec:
                *  Check so_pcb2 despite the ip6_mapped_addr value.
                *  Because the sysctl value may be changed to 0
                *  after connection establishment.
                */
               || so->so_pcb2
   #endif /* MAPPED_ADDR_ENABLED */
               || (so->so_state & SS_NOFDREF) == 0)
                 return;                  return;
         if (so->so_head) {          if (so->so_head) {
                 /*                  /*
Line 203  soclose(so)
Line 217  soclose(so)
                         (void) soabort(so2);                          (void) soabort(so2);
                 }                  }
         }          }
         if (so->so_pcb == 0)          if (so->so_pcb == 0
   #ifdef MAPPED_ADDR_ENABLED
               && so->so_pcb2 == 0
   #endif /* MAPPED_ADDR_ENABLED */
               )
                 goto discard;                  goto discard;
         if (so->so_state & SS_ISCONNECTED) {          if (so->so_state & SS_ISCONNECTED) {
                 if ((so->so_state & SS_ISDISCONNECTING) == 0) {                  if ((so->so_state & SS_ISDISCONNECTING) == 0) {
Line 225  soclose(so)
Line 243  soclose(so)
                 }                  }
         }          }
 drop:  drop:
         if (so->so_pcb) {          if (so->so_pcb
   #ifdef MAPPED_ADDR_ENABLED
               || so->so_pcb2
   #endif /* MAPPED_ADDR_ENABLED */
               ) {
                 int error2 = (*so->so_proto->pr_usrreq)(so, PRU_DETACH,                  int error2 = (*so->so_proto->pr_usrreq)(so, PRU_DETACH,
                     (struct mbuf *)0, (struct mbuf *)0, (struct mbuf *)0,                      (struct mbuf *)0, (struct mbuf *)0, (struct mbuf *)0,
                     (struct proc *)0);                      (struct proc *)0);
Line 822  dontblock:
Line 844  dontblock:
         if ((flags & MSG_PEEK) == 0) {          if ((flags & MSG_PEEK) == 0) {
                 if (m == 0)                  if (m == 0)
                         so->so_rcv.sb_mb = nextrecord;                          so->so_rcv.sb_mb = nextrecord;
                 if (pr->pr_flags & PR_WANTRCVD && so->so_pcb)                  if (pr->pr_flags & PR_WANTRCVD &&
                       (so->so_pcb
   #ifdef MAPPED_ADDR_ENABLED
                        || so->so_pcb2
   #endif /* MAPPED_ADDR_ENABLED */
                        )
                       )
                         (*pr->pr_usrreq)(so, PRU_RCVD, (struct mbuf *)0,                          (*pr->pr_usrreq)(so, PRU_RCVD, (struct mbuf *)0,
                             (struct mbuf *)(long)flags, (struct mbuf *)0,                              (struct mbuf *)(long)flags, (struct mbuf *)0,
                             (struct proc *)0);                              (struct proc *)0);

Legend:
Removed from v.1.44  
changed lines
  Added in v.1.44.6.1

CVSweb <webmaster@jp.NetBSD.org>