From owner-freebsd-current Tue May 8 5:10:39 2001 Delivered-To: freebsd-current@freebsd.org Received: from rina.r.dl.itc.u-tokyo.ac.jp (rina.r.dl.itc.u-tokyo.ac.jp [133.11.199.247]) by hub.freebsd.org (Postfix) with ESMTP id AEC1037B422; Tue, 8 May 2001 05:10:34 -0700 (PDT) (envelope-from tanimura@r.dl.itc.u-tokyo.ac.jp) Received: from rina.r.dl.itc.u-tokyo.ac.jp (localhost [127.0.0.1]) by rina.r.dl.itc.u-tokyo.ac.jp (8.11.3+3.4W/3.7W-rina.r-20010412) with ESMTP id f48AQgP75260 ; Tue, 8 May 2001 19:26:43 +0900 (JST) Message-Id: <200105081026.f48AQgP75260@rina.r.dl.itc.u-tokyo.ac.jp> Date: Tue, 08 May 2001 19:26:42 +0900 From: Seigo Tanimura To: jhb@FreeBSD.org Cc: tanimura@r.dl.itc.u-tokyo.ac.jp, current@FreeBSD.org Subject: RE: select(2) converted to use a condition variable, and optimis In-Reply-To: In your message of "Mon, 07 May 2001 12:37:22 -0700 (PDT)" References: <200105060731.f467V4g13184@silver.carrots.uucp.r.dl.itc.u-tokyo.ac.jp> User-Agent: Wanderlust/1.1.1 (Purple Rain) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) MULE XEmacs/21.1 (patch 14) (Cuyahoga Valley) (i386--freebsd) Organization: Digital Library Research Division, Information Techinology Centre, The University of Tokyo MIME-Version: 1.0 (generated by SEMI 1.13.7 - "Awazu") Content-Type: text/plain; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Mon, 07 May 2001 12:37:22 -0700 (PDT), John Baldwin said: John> You need the lock when clearing the bit in p_flag. That is why the proc locks John> are there, so all those proc locks need to stay. When you clear a bit, you are John> writing all the bits, so you need to ensure that you can atomically John> read/modify/write all the bits in p_flag, hence the need for the proc lock. John> Please back out the changes to not lock the process around the p_flag change. John> The rest of the patch looks ok, though I'd like to review the updated version John> before it is committed. Thanks. Process locks are now back. Here is another issue. PROC_LOCK may block to acquire a process lock, during which an event of interest may occur or the remaining time of select(2)/poll(2) may run out. Thus if the remaining time runs out during locking a process, we should first rescan file descriptors to avoid missing an event, followed by returning the result. Those changes are now in the updated patch at: >> http://people.FreeBSD.org/~tanimura/patches/selectopt.diff -- Seigo Tanimura To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message