[PATCH] D12490: [asan] Intercept and wrap XPC callback blocks
Kuba Brecka via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 31 02:33:03 PDT 2015
kubabrecka created this revision.
kubabrecka added reviewers: samsonov, glider.
kubabrecka added subscribers: llvm-commits, samsonov, glider, kcc, zaks.anna.
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.
http://reviews.llvm.org/D12490
Files:
lib/asan/asan_mac.cc
test/asan/TestCases/Darwin/xpc_interceptors.mm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12490.33562.patch
Type: text/x-patch
Size: 3751 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150831/0f3d305b/attachment.bin>
More information about the llvm-commits
mailing list