Skip to content

Commit

Permalink
Skip eventmanager_libuv_test under TSAN
Browse files Browse the repository at this point in the history
  • Loading branch information
veblush committed Oct 1, 2020
1 parent 777792b commit c8046ad
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
5 changes: 5 additions & 0 deletions test/core/iomgr/poller/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ grpc_cc_test(
"gtest",
],
language = "C++",
tags = [
# TSAN has a false-positive for ShutdownRefAsync
# https://github.com/grpc/grpc/issues/24242
"notsan",
],
uses_polling = False,
deps = [
"//:eventmanager_libuv",
Expand Down
4 changes: 4 additions & 0 deletions test/core/iomgr/poller/eventmanager_libuv_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ TEST(LibuvEventManager, ShutdownRefAsync) {
for (int j = 0; j < i; j++) {
em->ShutdownRef();
}
// TSAN doesn't like this approach although this would work. TSAN considers
// it dangerous to have a destructor being called while its member function
// is called but LibuvEventManager handles this by making LibuvEventManager
// wait until all pending operations finish.
grpc_core::Thread deleter(
"deleter", [](void* em) { delete static_cast<LibuvEventManager*>(em); },
em);
Expand Down

0 comments on commit c8046ad

Please sign in to comment.