Address MatchAll thread-safety issues
commit3d1771612c97823d14adf4a3579e7942e7c839fb
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 03:20:20 +0000 (12 15:20 +1200)
tree02ab299e14ff3dec8b4f4ea5aa65eb0de0e1f98e
parent56e13dba8491427a2e56da5501006a3815384f00
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.
xapian-core/api/query.cc
xapian-core/api/queryinternal.cc
xapian-core/api/queryinternal.h
xapian-core/include/xapian/query.h