aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorKuba Brecka <kuba.brecka@gmail.com>2015-09-07 11:19:22 +0000
committerKuba Brecka <kuba.brecka@gmail.com>2015-09-07 11:19:22 +0000
commitdfaac293dc71729e8f9c4e44e37fa99bc7862be3 (patch)
treeab952dae83e82aaa9628f34b12473a6d893588b7 /clang/lib/CodeGen/CodeGenFunction.cpp
parent14f308e44f4023073fc360156e2dd14991c0dfe9 (diff)
downloadllvm-dfaac293dc71729e8f9c4e44e37fa99bc7862be3.zip
llvm-dfaac293dc71729e8f9c4e44e37fa99bc7862be3.tar.gz
llvm-dfaac293dc71729e8f9c4e44e37fa99bc7862be3.tar.bz2
[asan] Intercept and wrap XPC callback blocks
On recent OS X systems, blocks used as callbacks for XPC events (set up e.g. via xpc_connection_set_event_handler) are not later executed via the public libdispatch API (dispatch_async, etc). Because we don't intercept the path where the block is executed, we can fail to register the newly created dispatch thread. To fix that, let's intercept libxpc's APIs that take a block as a callback handler, and let's wrap these blocks in the same way as we do for libdispatch API. Differential Revision: http://reviews.llvm.org/D12490 llvm-svn: 246961
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions