From owner-freebsd-arch@FreeBSD.ORG Tue Dec 12 14:24:39 2006 Return-Path: X-Original-To: freebsd-arch@freebsd.org Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3568F16A4C8; Tue, 12 Dec 2006 14:24:39 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from mail.ntplx.net (mail.ntplx.net [204.213.176.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 21B7B4403A; Tue, 12 Dec 2006 14:07:41 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.ntplx.net (8.13.8/8.13.8/NETPLEX) with ESMTP id kBCE8UAQ020207; Tue, 12 Dec 2006 09:08:30 -0500 (EST) Date: Tue, 12 Dec 2006 09:08:30 -0500 (EST) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Kostik Belousov In-Reply-To: <20061212135647.GK311@deviant.kiev.zoral.com.ua> Message-ID: References: <20061211171115.GD311@deviant.kiev.zoral.com.ua> <200612120816.07608.davidxu@freebsd.org> <20061212135647.GK311@deviant.kiev.zoral.com.ua> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Greylist: Message whitelisted by DRAC access database, not delayed by milter-greylist-3.0 (mail.ntplx.net [204.213.176.10]); Tue, 12 Dec 2006 09:08:31 -0500 (EST) X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.ntplx.net) Cc: freebsd-arch@freebsd.org, "Arne H. Juul" , David Xu , freebsd-java@freebsd.org Subject: Re: close() of active socket does not work on FreeBSD 6 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Dec 2006 14:24:39 -0000 On Tue, 12 Dec 2006, Kostik Belousov wrote: > On Tue, Dec 12, 2006 at 08:18:32AM -0500, Daniel Eischen wrote: >> It's also couldn't be entirely solved by fixing it in the >> threads library. You could still have a non-threaded >> application that waits on a read operation, but receives >> a signal and closes the socket in the signal handler. > > This is not the problem. The read (as syscall being executed) is aborted > when signal is delivered. Original poster considered situation where > read() is active (in particular, f_count of struct file is incremented > by fget, that caused the reported behaviour). Even when SA_RESTART is set? -- DE