aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/FileManager.cpp
diff options
context:
space:
mode:
authorJonathan Peyton <jonathan.l.peyton@intel.com>2016-06-13 17:36:40 +0000
committerJonathan Peyton <jonathan.l.peyton@intel.com>2016-06-13 17:36:40 +0000
commit93495de26501d4f2cb824d7368bc6009082f02c2 (patch)
tree00b85f7cc54bb6f287266fd7ee078aa46421ec57 /clang/lib/Basic/FileManager.cpp
parent248190ba69e834d7ffa9ecf64ed38da42ca34bf8 (diff)
downloadllvm-93495de26501d4f2cb824d7368bc6009082f02c2.zip
llvm-93495de26501d4f2cb824d7368bc6009082f02c2.tar.gz
llvm-93495de26501d4f2cb824d7368bc6009082f02c2.tar.bz2
Fix crash when libomp loaded/unloaded multiple times
The problem scenario is the following: A dynamic library, libfoo.so, depends on libomp.so (it creates parallel region and calls some omp functions). An application has a loop where it dynamically loads libfoo.so, calls the function from it, unloads libfoo.so. After several loop iterations application crashes with the message about lack of resources OMP: Error #34: System unable to allocate necessary resources for OMP thread: The problem is that pthread_kill() was not followed by pthread_join() in case of terminated thread. This patch fixes this problem for both worker and monitor threads. Differential Revision: http://reviews.llvm.org/D21200 llvm-svn: 272567
Diffstat (limited to 'clang/lib/Basic/FileManager.cpp')
0 files changed, 0 insertions, 0 deletions