[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.84 and 1.89

version 1.84, 2003/07/02 20:07:45 version 1.89, 2003/09/15 00:22:20
Line 48 
Line 48 
  * 2. Redistributions in binary form must reproduce the above copyright   * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the   *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.   *    documentation and/or other materials provided with the distribution.
  * 3. All advertising materials mentioning features or use of this software   * 3. Neither the name of the University nor the names of its contributors
  *    must display the following acknowledgement:  
  *      This product includes software developed by the University of  
  *      California, Berkeley and its contributors.  
  * 4. Neither the name of the University nor the names of its contributors  
  *    may be used to endorse or promote products derived from this software   *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.   *    without specific prior written permission.
  *   *
Line 94  __KERNEL_RCSID(0, "$NetBSD$");
Line 90  __KERNEL_RCSID(0, "$NetBSD$");
 #include <sys/resourcevar.h>  #include <sys/resourcevar.h>
 #include <sys/pool.h>  #include <sys/pool.h>
 #include <sys/event.h>  #include <sys/event.h>
   #include <sys/poll.h>
   
 #include <uvm/uvm.h>  #include <uvm/uvm.h>
   
Line 1270  sorflush(struct socket *so)
Line 1267  sorflush(struct socket *so)
         socantrcvmore(so);          socantrcvmore(so);
         sbunlock(sb);          sbunlock(sb);
         asb = *sb;          asb = *sb;
         memset((caddr_t)sb, 0, sizeof(*sb));          /*
            * Clear most of the sockbuf structure, but leave some of the
            * fields valid.
            */
           memset(&sb->sb_startzero, 0,
               sizeof(*sb) - offsetof(struct sockbuf, sb_startzero));
         splx(s);          splx(s);
         if (pr->pr_flags & PR_RIGHTS && pr->pr_domain->dom_dispose)          if (pr->pr_flags & PR_RIGHTS && pr->pr_domain->dom_dispose)
                 (*pr->pr_domain->dom_dispose)(asb.sb_mb);                  (*pr->pr_domain->dom_dispose)(asb.sb_mb);
Line 1506  void
Line 1508  void
 sohasoutofband(struct socket *so)  sohasoutofband(struct socket *so)
 {  {
         struct proc *p;          struct proc *p;
           ksiginfo_t ksi;
           memset(&ksi, 0, sizeof(ksi));
           ksi.ksi_signo = SIGURG;
           ksi.ksi_band = POLLPRI|POLLRDBAND;
           ksi.ksi_code = POLL_PRI;
   
         if (so->so_pgid < 0)          if (so->so_pgid < 0)
                 gsignal(-so->so_pgid, SIGURG);                  kgsignal(-so->so_pgid, &ksi, so);
         else if (so->so_pgid > 0 && (p = pfind(so->so_pgid)) != 0)          else if (so->so_pgid > 0 && (p = pfind(so->so_pgid)) != 0)
                 psignal(p, SIGURG);                  kpsignal(p, &ksi, so);
         selwakeup(&so->so_rcv.sb_sel);          selwakeup(&so->so_rcv.sb_sel);
 }  }
   

Legend:
Removed from v.1.84  
changed lines
  Added in v.1.89

CVSweb <webmaster@jp.NetBSD.org>