From 1dbce1ddab0ecd0ac8451f2597a0108a6f7df885 Mon Sep 17 00:00:00 2001 From: Patrick Totzke Date: Tue, 21 Feb 2012 15:35:42 +0000 Subject: [PATCH] Re: notmuch as a shared object aka library knigge --- cd/5f2ed3f7fb4f6cf4635f9d38fda52a8005d2f8 | 95 +++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 cd/5f2ed3f7fb4f6cf4635f9d38fda52a8005d2f8 diff --git a/cd/5f2ed3f7fb4f6cf4635f9d38fda52a8005d2f8 b/cd/5f2ed3f7fb4f6cf4635f9d38fda52a8005d2f8 new file mode 100644 index 000000000..cc4a2bfc9 --- /dev/null +++ b/cd/5f2ed3f7fb4f6cf4635f9d38fda52a8005d2f8 @@ -0,0 +1,95 @@ +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 8D0F2431FAF + for ; Tue, 21 Feb 2012 07:36:54 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.799 +X-Spam-Level: +X-Spam-Status: No, score=-0.799 tagged_above=-999 required=5 + tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, + FREEMAIL_FROM=0.001, 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 7JfVZzN0wtpW for ; + Tue, 21 Feb 2012 07:36:52 -0800 (PST) +Received: from mail-we0-f181.google.com (mail-we0-f181.google.com + [74.125.82.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 67D35431FAE + for ; Tue, 21 Feb 2012 07:36:52 -0800 (PST) +Received: by werp13 with SMTP id p13so4747309wer.26 + for ; Tue, 21 Feb 2012 07:36:49 -0800 (PST) +Received-SPF: pass (google.com: domain of patricktotzke@googlemail.com + designates 10.181.11.227 as permitted sender) + client-ip=10.181.11.227; +Authentication-Results: mr.google.com; spf=pass (google.com: domain of + patricktotzke@googlemail.com designates 10.181.11.227 as + permitted sender) smtp.mail=patricktotzke@googlemail.com; + dkim=pass header.i=patricktotzke@googlemail.com +Received: from mr.google.com ([10.181.11.227]) + by 10.181.11.227 with SMTP id el3mr26550742wid.18.1329838609830 + (num_hops = 1); Tue, 21 Feb 2012 07:36:49 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=googlemail.com; s=gamma; + h=content-type:mime-version:content-transfer-encoding:from:user-agent + :to:references:in-reply-to:message-id:subject:date; + bh=pmwlK7ZU4yoEELUCA6ozujISSqQa5TnNHufIn8yYlVs=; + b=nTJNS9PEgCrBA2Vbts8e5lg3cHcV+5lgah81gZSutFPEcJrITcxtrh97kIuk5qQqLK + x0VjpQf2iBoAwRWbHppcd4rlm4qeo8bJtQ4z8QA0QCMgqIvDGItysHzdcy/t0HByoqgZ + EoY70FO2msMxBF1E1TMvhoyF/5bBebA+Pf1m8= +Received: by 10.181.11.227 with SMTP id el3mr22065289wid.18.1329838609785; + Tue, 21 Feb 2012 07:36:49 -0800 (PST) +Received: from localhost (dhcp-91-036.inf.ed.ac.uk. [129.215.91.36]) + by mx.google.com with ESMTPS id by3sm23260698wib.3.2012.02.21.07.36.45 + (version=TLSv1/SSLv3 cipher=OTHER); + Tue, 21 Feb 2012 07:36:46 -0800 (PST) +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +From: Patrick Totzke +User-Agent: alot/0.21+ +To: notmuch +References: <20120221002921.8534.57091@thinkbox.jade-hamburg.de> +In-Reply-To: <20120221002921.8534.57091@thinkbox.jade-hamburg.de> +Message-ID: <20120221153542.29533.62958@megatron> +Subject: Re: notmuch as a shared object aka library knigge +Date: Tue, 21 Feb 2012 15:35:42 +0000 +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, 21 Feb 2012 15:36:54 -0000 + +Hi all, + +Those of you with long enough backlog on the list to remember my rant (id:2= +0110626202733.GA26837@brick) +can guess my opion on this matter but just to be sure.. + +I am not much of an expert on libnotmuch internals but am using the python = +bindings extensively. +It feels super-strange using a python module that possibly writes to stderr= + or any other descriptor +without me explicitly telling it to. +Also, if the library segfauls or calls exit, it essentially rips out the py= +thon interpreter underneath my code +without me being able to do any proper error handling. + +I know that error handling on a library level is hard, juggling around with= + bare C, talloc and Xapian. +But i can only strongly encourage any rewrite that ends in the python bindi= +ngs behaving more pythonic! + +Cheers, +/p -- 2.26.2