Re: Thread safety?

2023-02-21 Thread Kevin Boulain
On 2023-02-21 at 07:59 -04, David Bremner wrote: > Thanks for tracking this down. I did try some experiments a while ago > with multi-threaded indexing (which is where the locking you mentioned > arose), but overall it isn't well tested (by me). To be honest I struggled a bit, notably on GLib

Re: [PATCH] emacs/tree: use two argument form of setq-local

2023-02-21 Thread David Bremner
David Bremner writes: > Apparently the macro setq-local only takes two arguments in Emacs 26.1 > --- > emacs/notmuch-tree.el | 8 > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/emacs/notmuch-tree.el b/emacs/notmuch-tree.el > index 14775d59..b58fa6a6 100644 > ---

Re: [PATCH] emacs/tree: use two argument form of setq-local

2023-02-21 Thread Michael J Gruber
Am Di., 21. Feb. 2023 um 12:49 Uhr schrieb David Bremner : > > Apparently the macro setq-local only takes two arguments in Emacs 26.1 > --- > emacs/notmuch-tree.el | 8 > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/emacs/notmuch-tree.el b/emacs/notmuch-tree.el >

Re: Thread safety?

2023-02-21 Thread David Bremner
Kevin Boulain writes: > So, is Notmuch expected to be thread safe? There are some indications it > should be (e.g.: lib/init.cc has locking) but all instances of > Xapian::Query::MatchAll would have to be replaced. > Xapian states it's thread safe: >

[PATCH] emacs/tree: use two argument form of setq-local

2023-02-21 Thread David Bremner
Apparently the macro setq-local only takes two arguments in Emacs 26.1 --- emacs/notmuch-tree.el | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/emacs/notmuch-tree.el b/emacs/notmuch-tree.el index 14775d59..b58fa6a6 100644 --- a/emacs/notmuch-tree.el +++

Thread safety?

2023-02-21 Thread Kevin Boulain
Hey, I quickly searched the mailing list archives but couldn't find a related topic, apologies if this has already been discussed. Should Notmuch be thread-safe? Here's a simple repro (notmuch 09f2ad8e, xapian-core 1.4.22): // cc -Wall -g -lpthread -lnotmuch #include #include #include void