Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 9990 invoked from network); 18 Jan 2007 03:26:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Jan 2007 03:26:43 -0000 Received: (qmail 13424 invoked by uid 500); 18 Jan 2007 03:26:49 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 13382 invoked by uid 500); 18 Jan 2007 03:26:48 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Id: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 13363 invoked by uid 99); 18 Jan 2007 03:26:48 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Jan 2007 19:26:48 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [65.99.219.155] (HELO haxent.com) (65.99.219.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Jan 2007 19:26:38 -0800 Received: from [192.168.1.101] (unknown [189.2.38.218]) by haxent.com (Postfix) with ESMTP id 17FC030931; Thu, 18 Jan 2007 01:26:16 -0200 (BRST) Message-ID: <45AEE8D4.7030808@haxent.com.br> Date: Thu, 18 Jan 2007 01:26:12 -0200 From: Davi Arnaut MIME-Version: 1.0 To: Paul Querna Cc: dev@apr.apache.org Subject: Re: Bug in epoll References: <45AD9B05.1090601@force-elite.com> In-Reply-To: <45AD9B05.1090601@force-elite.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Paul Querna wrote: > Hey All, > > I am observing a bug in apr_pollset_poll. > .. > > To me, the non-kernel programmer, it looks like epoll is only getting > triggered on the wakeup timer for the timeout, and not returning > instantly when it has found a socket available for read. When it > finally does hit the timeout wakeup, it does notice that there is a > socket available to read, and returns it, rather than an actual timeout. > > For the short term, I am satisfied with disabling epoll on my builds of > APR. I think we should consider disabling epoll by default on APR, if I > can isolate the bug to a kernel revision. > epoll code hasn't changed much in ages..I would probably blame apr_memcache code :) Example: apr_memcache_multgetp(): .. rv = apr_pollset_create(&pollset, apr_hash_count(server_queries), temp_pool, 0); .. .. apr_pool_clear(temp_pool); apr_pollset_destroy(pollset); Also there a lot of calls that the returns values are not checked. Anyway, better double check the apr_memcache code. A full strace log should help shed some light on the issue. -- Davi Arnaut