[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.160 and 1.161

version 1.160, 2008/04/24 11:38:36 version 1.161, 2008/04/27 14:26:58
Line 594  solisten(struct socket *so, int backlog,
Line 594  solisten(struct socket *so, int backlog,
 void  void
 sofree(struct socket *so)  sofree(struct socket *so)
 {  {
           u_int refs;
   
         KASSERT(solocked(so));          KASSERT(solocked(so));
   
Line 623  sofree(struct socket *so)
Line 624  sofree(struct socket *so)
         KASSERT(!cv_has_waiters(&so->so_rcv.sb_cv));          KASSERT(!cv_has_waiters(&so->so_rcv.sb_cv));
         KASSERT(!cv_has_waiters(&so->so_snd.sb_cv));          KASSERT(!cv_has_waiters(&so->so_snd.sb_cv));
         sorflush(so);          sorflush(so);
           refs = so->so_aborting; /* XXX */
         sounlock(so);          sounlock(so);
         soput(so);          if (refs == 0)          /* XXX */
                   soput(so);
 }  }
   
 /*  /*
Line 700  soclose(struct socket *so)
Line 703  soclose(struct socket *so)
 int  int
 soabort(struct socket *so)  soabort(struct socket *so)
 {  {
           u_int refs;
         int error;          int error;
   
         KASSERT(solocked(so));          KASSERT(solocked(so));
         KASSERT(so->so_head == NULL);          KASSERT(so->so_head == NULL);
   
           so->so_aborting++;              /* XXX */
         error = (*so->so_proto->pr_usrreq)(so, PRU_ABORT, NULL,          error = (*so->so_proto->pr_usrreq)(so, PRU_ABORT, NULL,
             NULL, NULL, NULL);              NULL, NULL, NULL);
           refs = --so->so_aborting;       /* XXX */
         if (error) {          if (error) {
                 sofree(so);                  sofree(so);
         } else {          } else {
                 sounlock(so);                  sounlock(so);
                   if (refs == 0)
                           sofree(so);
         }          }
         return error;          return error;
 }  }

Legend:
Removed from v.1.160  
changed lines
  Added in v.1.161

CVSweb <webmaster@jp.NetBSD.org>