Date: Thu, 3 Aug 2006 15:31:52 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/netsmb smb_trantcp.c src/sys/netncp ncp_sock.c Message-ID: <200608031531.k73FVqGl039069@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2006-08-03 15:31:52 UTC FreeBSD src repository Modified files: sys/netsmb smb_trantcp.c sys/netncp ncp_sock.c Log: - 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200608031531.k73FVqGl039069>