Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 0889C431FB6 for ; Tue, 14 Aug 2012 05:57:24 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.7 X-Spam-Level: X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VQUuaCR1H7r6 for ; Tue, 14 Aug 2012 05:57:23 -0700 (PDT) Received: from mail-gg0-f181.google.com (mail-gg0-f181.google.com [209.85.161.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 69EC8431FAE for ; Tue, 14 Aug 2012 05:57:23 -0700 (PDT) Received: by ggmb6 with SMTP id b6so510412ggm.26 for ; Tue, 14 Aug 2012 05:57:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:subject:in-reply-to:references:user-agent:date:message-id :mime-version:content-type:content-transfer-encoding :x-gm-message-state; bh=DmAOBiBC7M46bZfRQHsCfRxICV9EQ/AIx2SzW3xgMns=; b=hKkrh4mg6WgPhmPDF9SCaso64jSagnPjB88i59caCAUjd78ARG4A1OrU+0FkdH8ToN u2U1FTCFK7NxeEYznSXbA/hgnyUdqghSbooqwSbUJQ8GcSLfTc5DoFWMqfpmdkX8m4Wv /ZJfYllzyUL2Hgxdeg4FGDTwaJ04qB80WDDC0efuzRyDyMtUkRs6QZHXR89s+ZIFB4TQ qTmzR0xtAIwVwD56/6usPJnTM34kYOQBh75CHT+PC9h3K65pj4rrOcM0Qrf8T7zjKY5H WTm/nllb6fIcRMdCGtFEsQGgjaL2gXG588ZlDArnGlQB8g8v/ZrQx8ElsXQuXvirur47 k4XQ== Received: by 10.236.136.39 with SMTP id v27mr11549192yhi.96.1344949042587; Tue, 14 Aug 2012 05:57:22 -0700 (PDT) Received: from localhost ([2001:4b98:dc0:43:216:3eff:fe1b:25f3]) by mx.google.com with ESMTPS id c64sm4677778yhj.17.2012.08.14.05.57.18 (version=SSLv3 cipher=OTHER); Tue, 14 Aug 2012 05:57:21 -0700 (PDT) From: Jani Nikula To: Michal Nazarewicz , David Bremner , notmuch@notmuchmail.org Subject: Re: =?utf-8?Q?=E2=80=98class_Xapian=3A=3ADatabase=E2=80=99?= has no member named =?utf-8?B?4oCYY2xvc2XigJk=?= In-Reply-To: References: <87a9xx4yuj.fsf@maritornes.cs.unb.ca> User-Agent: Notmuch/0.13.2+131~gff9267e (http://notmuchmail.org) Emacs/23.2.1 (x86_64-pc-linux-gnu) Date: Tue, 14 Aug 2012 14:57:13 +0200 Message-ID: <87fw7p1viu.fsf@nikula.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQmAWGn+8xlrRJGnxezmo7kwSxyZt7fZJdbI7HjuTDoeQKr9w2qwCs2HpDQKd6W3iGkg7wtD X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Aug 2012 12:57:24 -0000 On Tue, 14 Aug 2012, Michal Nazarewicz wrote: > Yeah, it seems that INSTALL claims =E2=80=9CNotmuch will work best with X= apian > 1.0.18 (or later) or Xapian 1.1.4 (or later)=E2=80=9D, which doesn't seem= to be > the case. > > On top of that, configure does not seem to even check the version > number. Someone(tm) should fix both of the above. > Is close() really required though? The comment justifies it saying > that: > > Many Xapian objects hold references to the database, so merely > deleting the database may not suffice to close it. Thus, we > explicitly close it here. > > but wouldn't the database get closed when the last reference gets > deleted anyway? IIRC this was related to how closing is handled in the python bindings. The close was introduced in the commit below, not too long ago. I just reverted that one when I had to use notmuch with ancient xapian (but the usual disclaimers apply). BR, Jani. commit cfc5f1059aa16753cba610c41601cacc97260e08 Author: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Fri Mar 2 15:58:39 2012 +0100 Actually close the xapian database in notmuch_database_close =20=20=20=20 Formerly the xapian database object was deleted and closed in its destructor once the object was garbage collected. Explicitly call close() so that the database and the associated lock is released immediately. =20=20=20=20 The comment is a courtesy of Austin Clements. =20=20=20=20 Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>