summaryrefslogtreecommitdiff
path: root/external/clucene
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-05-08 11:08:51 +0200
committerStephan Bergmann <sbergman@redhat.com>2014-05-08 11:08:51 +0200
commit10314b5d8b653864c92d392cbb774438633b2fe1 (patch)
tree2269b85b7cad1cc0d0c88c15eeb59ddcfd184be1 /external/clucene
parente0bde4c53b1b8412833d4b84a214da8b8fc1f6e7 (diff)
CLucene: Helgrind reported "pthread_mutex_destroy of a locked mutex"
> pthread_mutex_destroy (/usr/src/debug/valgrind-3.9.0/helgrind/hg_intercepts.c:478) > lucene::util::mutex_thread::~mutex_thread() (workdir/UnpackedTarball/clucene/src/shared/CLucene/config/threads.cpp:179) > lucene::store::FSDirectory::FSIndexInput::close() (workdir/UnpackedTarball/clucene/src/core/CLucene/store/FSDirectory.cpp:225) > lucene::index::SegmentInfos::read(lucene::store::Directory*, char const*) (workdir/UnpackedTarball/clucene/src/core/CLucene/index/SegmentInfos.cpp:770) > lucene::index::IndexFileDeleter::IndexFileDeleter(lucene::store::Directory*, lucene::index::IndexDeletionPolicy*, lucene::index::SegmentInfos*, std::ostream*, lucene::index::DocumentsWriter*) (workdir/UnpackedTarball/clucene/src/core/CLucene/index/IndexFileDeleter.cpp:149) > lucene::index::IndexWriter::init(lucene::store::Directory*, lucene::analysis::Analyzer*, bool, bool, lucene::index::IndexDeletionPolicy*, bool) (workdir/UnpackedTarball/clucene/src/core/CLucene/index/IndexWriter.cpp:262) > lucene::index::IndexWriter::IndexWriter(char const*, lucene::analysis::Analyzer*, bool) (workdir/UnpackedTarball/clucene/src/core/CLucene/index/IndexWriter.cpp:158) > HelpIndexer::indexDocuments() (helpcompiler/source/HelpIndexer.cxx:55) Change-Id: I19cb9bd49b339d206a624c1f1d3dacdd909f4e25
Diffstat (limited to 'external/clucene')
-rw-r--r--external/clucene/UnpackedTarball_clucene.mk1
-rw-r--r--external/clucene/patches/clucene-mutex.patch13
2 files changed, 14 insertions, 0 deletions
diff --git a/external/clucene/UnpackedTarball_clucene.mk b/external/clucene/UnpackedTarball_clucene.mk
index 5148fb72fd37..4407f73d3cb4 100644
--- a/external/clucene/UnpackedTarball_clucene.mk
+++ b/external/clucene/UnpackedTarball_clucene.mk
@@ -31,6 +31,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,clucene,\
external/clucene/patches/clucene-aix.patch \
external/clucene/patches/clucene-git1-win64.patch \
external/clucene/patches/clucene-ub.patch \
+ external/clucene/patches/clucene-mutex.patch \
))
ifneq ($(OS),WNT)
diff --git a/external/clucene/patches/clucene-mutex.patch b/external/clucene/patches/clucene-mutex.patch
new file mode 100644
index 000000000000..2a6b7d2d3642
--- /dev/null
+++ b/external/clucene/patches/clucene-mutex.patch
@@ -0,0 +1,13 @@
+--- src/core/CLucene/store/FSDirectory.cpp
++++ src/core/CLucene/store/FSDirectory.cpp
+@@ -219,9 +219,8 @@
+ _CLDECDELETE(handle);
+
+ //printf("handle=%d\n", handle->__cl_refcount);
+- if ( dounlock ){
+ mutex->unlock();
+- }else{
++ if ( !dounlock ){
+ delete mutex;
+ }
+ }