Re: [PROTO] possible solution for "Race condition for '*' command"

Subject: Re: [PROTO] possible solution for "Race condition for '*' command"

Date: Tue, 05 Jul 2011 21:04:55 +0200

To: Austin Clements

Cc: Notmuch Mail

From: Pieter Praet

On Mon, 04 Jul 2011 20:48:12 +0200, Pieter Praet <> wrote:
> On Mon, 04 Jul 2011 13:56:26 -0400, Austin Clements <amdragon@MIT.EDU> wrote:
> > I should probably emit two lists per thread: one of matched IDs and
> > one of unmatched IDs. Tagging a region can then operate on the
> > concatenation of these, while * can operate only on the matched
> > lists. This should be easy to do. I'll send an updated patch when I'm
> > back at a computer.
> The matched MsgIds will be sufficient, as we'll want to operate on
> either the matched messages or the entire thread (for which the
> `thread-id' property is already present).
> Can't think of a use case for non-matched messages right now,
> but if required, we'll just use `set-exclusive-or'.

Wasn't thinking clearly:

You're right, we *will* be needing both a list of matched as well as one
of unmatched Message-Id's per result. Otherwise there would still be a
potential race condition when tagging with +/-.