Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965045AbWAIAIQ (ORCPT ); Sun, 8 Jan 2006 19:08:16 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S965356AbWAIAIQ (ORCPT ); Sun, 8 Jan 2006 19:08:16 -0500 Received: from dsl027-180-168.sfo1.dsl.speakeasy.net ([216.27.180.168]:51330 "EHLO sunset.davemloft.net") by vger.kernel.org with ESMTP id S965045AbWAIAIQ (ORCPT ); Sun, 8 Jan 2006 19:08:16 -0500 Date: Sun, 08 Jan 2006 16:08:02 -0800 (PST) Message-Id: <20060108.160802.103497642.davem@davemloft.net> To: davidel@xmailserver.org Cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH/RFC] POLLHUP tinkering ... From: "David S. Miller" In-Reply-To: References: X-Mailer: Mew version 4.2.53 on Emacs 21.4 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 989 Lines: 21 From: Davide Libenzi Date: Sun, 8 Jan 2006 16:02:10 -0800 (PST) > But if and hangup happened with some data (data + FIN), they won't > receive any more events for the Linux poll subsystem (and epoll, > when using the event triggered interface), so they are forced to > issue an extra read() after the loop to detect the EOF > condition. Besides from the extra read() overhead, the code does not > come exactly pretty. The extra last read is always necessary, it's an error synchronization barrier. Did you know that? If a partial read or write hits an error, the successful amount of bytes read or written before the error occurred is returned. Then any subsequent read or write will report the error immediately. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/