cvs commit: src/sys/kern uipc_socket.c

Robert Watson rwatson at FreeBSD.org
Sun Sep 5 07:33:21 PDT 2004


rwatson     2004-09-05 14:33:21 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             uipc_socket.c 
  Log:
  Expand the scope of the socket buffer locks in sopoll() to include the
  state test as well as set, or we risk a race between a socket wakeup
  and registering for select() or poll() on the socket.  This does
  increase the cost of the poll operation, but can probably be optimized
  some in the future.
  
  This appears to correct poll() "wedges" experienced with X11 on SMP
  systems with highly interactive applications, and might affect a plethora
  of other select() driven applications.
  
  RELENG_5 candidate.
  
  Problem reported by:    Maxim Maximov <mcsi at mcsi dot pp dot ru>
  Debugged with help of:  dwhite
  
  Revision  Changes    Path
  1.212     +4 -4      src/sys/kern/uipc_socket.c


More information about the cvs-src mailing list