From owner-freebsd-smp Fri Apr 9 4:18:32 1999 Delivered-To: freebsd-smp@freebsd.org Received: from noc.demon.net (server.noc.demon.net [193.195.224.4]) by hub.freebsd.org (Postfix) with ESMTP id 3650F14FD0 for ; Fri, 9 Apr 1999 04:18:29 -0700 (PDT) (envelope-from fanf@demon.net) Received: by noc.demon.net; id MAA21357; Fri, 9 Apr 1999 12:16:28 +0100 (BST) Received: from fanf.noc.demon.net(195.11.55.83) by inside.noc.demon.net via smap (3.2) id xma021334; Fri, 9 Apr 99 12:16:22 +0100 Received: from fanf by fanf.noc.demon.net with local (Exim 1.73 #2) id 10VZGo-0006yj-00; Fri, 9 Apr 1999 12:16:22 +0100 To: smp@freebsd.org From: Tony Finch Subject: Re: concurrent select()s on listen socket broken under SMP Newsgroups: chiark.mail.freebsd.smp In-Reply-To: Organization: Deliberate Obfuscation To Amuse Tony References: <14093.5670.813002.917842@chiark.greenend.org.uk> Message-Id: Date: Fri, 9 Apr 1999 12:16:22 +0100 Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Marc Slemko wrote: >On Thu, 8 Apr 1999, Tony Finch wrote: >> >> What breaks if I change the wakeup((caddr_t)&sb->sb_cc); in >> sowakeup() (line 319 of uipc_socket2.c) to a wakeup_one()? > >That could just break a whole lot of things I think. :-) >The basic reason behind this is (aside from the non-standard behaviour and >fairness issues) is that select() can notify a process that multiple >sockets are ready to be dealt with, while a process will probably only be >able to deal with one at a time. thttpd deals with all the ready descriptors between calls to select() Tony. -- f.a.n.finch dot@dotat.at fanf@demon.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message