Address MatchAll thread-safety issues
commit9791b005fd73c5169bf7f1f862f40b55e1f69e41
authorOlly Betts <olly@survex.com>
Thu, 12 Jul 2018 03:20:20 +0000 (12 15:20 +1200)
committerOlly Betts <olly@survex.com>
Thu, 12 Jul 2018 04:16:22 +0000 (12 16:16 +1200)
treed59b57a74b23500ff54889a7aa9619fa666a3919
parent70266397a517e213977f49c5b7c2c91389c88879
Address MatchAll thread-safety issues

Germán M. Bravo reported that MatchAll causes problems in multithreaded
code because the reference counting gets messed up by concurrent
updates.

Document that Query(string()) should be used instead of MatchAll in
multithreaded code, and avoid using it in library code.

(cherry picked from commit 3d1771612c97823d14adf4a3579e7942e7c839fb)
xapian-core/api/query.cc
xapian-core/api/queryinternal.cc
xapian-core/api/queryinternal.h
xapian-core/include/xapian/query.h