cvs commit: src/sys/kern uipc_usrreq.c

Robert Watson rwatson at
Fri Mar 17 13:52:58 UTC 2006

rwatson     2006-03-17 13:52:57 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             uipc_usrreq.c 
  Modify UNIX domain sockets to guarantee, and assume, that so_pcb is always
  defined for an in-use socket.  This allows us to eliminate countless tests
  of whether so_pcb is non-NULL, eliminating dozens of error cases.  For
  now, retain the call to sotryfree() in the uipc_abort() path, but this
  will eventually move to soabort().
  These new assumptions should be largely correct, and will become more so
  as the socket/pcb reference model is fixed.  Removing the notion that
  so_pcb can be non-NULL is a critical step towards further fine-graining
  of the UNIX domain socket locking, as the so_pcb reference no longer
  needs to be protected using locks, instead it is a property of the socket
  life cycle.
  Revision  Changes    Path
  1.163     +36 -97    src/sys/kern/uipc_usrreq.c

More information about the cvs-src mailing list