cvs commit: src/sys/netsmb smb_trantcp.c src/sys/netncp ncp_sock.c

John Baldwin jhb at
Thu Aug 3 15:31:54 UTC 2006

jhb         2006-08-03 15:31:52 UTC

  FreeBSD src repository

  Modified files:
    sys/netsmb           smb_trantcp.c 
    sys/netncp           ncp_sock.c 
  - Fix ncp_poll() to not panic if the socket doesn't have any pending data.
    We have to adjust curthread's state enough so that it appears to be
    in a poll(2) or select(2) call so that selrecord() will work and then
    teardown that state after calling sopoll().
  - Fix some minor nits in nearby ncp_sock_rselect() and in the identical
    nbssn_rselect() function in the netsmb code:
    - Don't call nb_poll()/ncp_poll() now that ncp_poll() already fakes up
      poll(2) state since the rselect() functions already do that.  Just
      invoke sopoll() directly.
    - To make things slightly more intuitive, store the results of sopoll()
      in a new 'revents' variable rather than 'error' since that's what
      sopoll() actually returns.
    - If the requested timeout time has been exceeded by the time we get
      ready to block, then return EWOULDBLOCK rather than 0 to signal a
      timeout as this is what the calling code expects.
  Tested by:      Eric Christeson <eric.j.christeson AT gmail> (1)
  MFC after:      1 week
  Revision  Changes    Path
  1.17      +27 -7     src/sys/netncp/ncp_sock.c
  1.24      +6 -10     src/sys/netsmb/smb_trantcp.c

More information about the cvs-src mailing list