From owner-svn-src-all@FreeBSD.ORG Sun Jan 25 19:57:39 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5FC5B106567F; Sun, 25 Jan 2009 19:57:39 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 30A3C8FC20; Sun, 25 Jan 2009 19:57:38 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id n0PJvcM1006454 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 25 Jan 2009 11:57:38 -0800 (PST) (envelope-from sam@freebsd.org) Message-ID: <497CC432.5010303@freebsd.org> Date: Sun, 25 Jan 2009 11:57:38 -0800 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.18 (X11/20081209) MIME-Version: 1.0 To: Jeff Roberson References: <200901250724.n0P7OYd9009645@svn.freebsd.org> In-Reply-To: <200901250724.n0P7OYd9009645@svn.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC-sonic.net-Metrics: ebb.errno.com; whitelist Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r187677 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jan 2009 19:57:40 -0000 Jeff Roberson wrote: > Author: jeff > Date: Sun Jan 25 07:24:34 2009 > New Revision: 187677 > URL: http://svn.freebsd.org/changeset/base/187677 > > Log: > Fix errors introduced when I rewrote select. > - Restructure selscan() and selrescan() to avoid producing extra selfps > when we have a fd in multiple sets. As described below multiple selfps > may still exist for other reasons. > - Make selrescan() tolerate multiple selfds for a given descriptor > set since sockets use two selinfos per fd. If an event on each selinfo > fires selrescan() will see the descriptor twice. This could result in > select() returning 2x the number of fds actually existing in fd sets. > > Can you clarify what the erroneous behaviour is? It appears the caller will receive nfds set to 2x the actual number of descriptors marked in the bit vectors? Was this identified because an application failed/misbehaved? If so, and the application is public please identify it. Sam