]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
- Convert msleep(9) in select(2) and poll(2) to cv_*wait*(9).
authorSeigo Tanimura <tanimura@FreeBSD.org>
Mon, 14 May 2001 05:26:48 +0000 (05:26 +0000)
committerSeigo Tanimura <tanimura@FreeBSD.org>
Mon, 14 May 2001 05:26:48 +0000 (05:26 +0000)
commit265fc98f36e8e63420c73d824bcdc52d8c3f805b
treeb9d515a723d6d63df2dd5dc3bd2ca96ec03249f6
parent2988afca886609c574cf5172394bf61afb62b06d
- Convert msleep(9) in select(2) and poll(2) to cv_*wait*(9).

- Since polling should not involve sleeping, keep holding a
  process lock upon scanning file descriptors.

- Hold a reference to every file descriptor prior to entering
  polling loop in order to avoid lock order reversal between
  lockmgr and p_mtx upon calling fdrop() in fo_poll().
  (NOTE: this work has not been done for netncp and netsmb
  yet because a socket itself has no reference counts.)

Reviewed by: jhb
sys/kern/sys_generic.c
sys/netncp/ncp_sock.c
sys/netsmb/smb_trantcp.c
sys/sys/systm.h