network - Allow asynchronous shutdown and fix a MP race in soshutdown().
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 16 Sep 2010 07:50:40 +0000 (00:50 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 16 Sep 2010 07:50:40 +0000 (00:50 -0700)
commitedf5c73201f87ebd973c4e5404a00e9fa92bed2a
tree81afad0dcf560e6b1def81f8409c0002e1074895
parent0fec1ecd6d03c009c61dbf7e79f6f11e9e378233
network - Allow asynchronous shutdown and fix a MP race in soshutdown().

* The ssb_release() call in sorflush() must be protected by
  socket->so_rcv.ssb_token.  This call is made from the user
  side when soshutdown() is called.

* Allow shutdowns to interrupt another thread read()ing from the same
  descriptor by removing the user-side interlock in the shutdown code
  path.
sys/kern/uipc_socket.c