grpc/test/cpp
AJ Heller 2ee2c91c92
Reland x2: Make GetDefaultEventEngine return a shared_ptr (#30619)
* Reland x2: Make GetDefaultEventEngine return a shared_ptr

* remove thread leak from NativeDNSResolver

This is not going to work for resolvers that support cancellation.

* give resolvers bounded lifetimes

Some resolver own EventEngines. EventEngines cannot run off the end of
the process since they have unjoined threads (problematic in a small set
of environments). This gives resolvers bounded lifetimes, and allows
replacement of resolvers without ASAN issues of deleting resolvers in
active use (occurs in tests).

* fix

* fix windows

* fix surface init test

* fix

* sanitize

* use after move

* the test must wait for the callback to be destroyed

* windows fix: delete the resolver on iomgr shutdown, not before

* Make TimerManager threads non-joinable

On gRPC shutdown, any unjoined TimerManager threads will cause TSAN to
detect thread leaks. This fix resolves issues I saw in end2end test
shutdown in another PR, where a single timer manager thread was always
alive after the test ended.

The long-term solution is to integrate the new ThreadPool here, but this
unblocks me for now.

* backport fix

* fix

* shared_ptr<EventEngine> in EventEngine benchmarks
2022-09-28 08:39:56 -07:00
..
client Revert "Revert "[c++] Move environment functions to C++ (#30937)" (#30986)" (#30988) 2022-09-14 14:19:36 -07:00
cocoapods Refactor end2end tests to exercise each EventEngine (#29202) 2022-03-30 15:43:05 -07:00
codegen Revert "Remove `include/grpcpp/impl/codegen/client_callback.h` (#31005)" (#31079) 2022-09-20 18:58:54 -07:00
common Removed GRPC_ERROR_NONE (#31131) 2022-09-27 23:17:39 -07:00
end2end Removed GRPC_ERROR_NONE (#31131) 2022-09-27 23:17:39 -07:00
ext Observability: Experimental arg to disable client side tracing (#31093) 2022-09-27 14:34:07 -07:00
grpclb Delete the EventEngine-driven iomgr implementation (#29654) 2022-05-20 10:18:53 -07:00
interop Revert "Revert "[c++] Move environment functions to C++ (#30937)" (#30986)" (#30988) 2022-09-14 14:19:36 -07:00
ios [tls] Remove support for pthread tls (#31040) 2022-09-22 22:39:35 -07:00
microbenchmarks Reland x2: Make GetDefaultEventEngine return a shared_ptr (#30619) 2022-09-28 08:39:56 -07:00
naming Removed GRPC_ERROR_NONE (#31131) 2022-09-27 23:17:39 -07:00
performance [build] Add test/core/util, test/core/event_engine to auto build deps (#30364) 2022-07-25 21:59:25 -07:00
qps Revert "Revert "[c++] Move environment functions to C++ (#30937)" (#30986)" (#30988) 2022-09-14 14:19:36 -07:00
security Expose NoOpCertificateVerifier to C++ (#29322) 2022-04-27 13:46:01 -07:00
server Update flaky tests (#30873) 2022-09-07 10:16:34 -07:00
test Change main argument of call promise to be a struct (#29019) 2022-03-14 10:05:01 -07:00
thread_manager Refactor end2end tests to exercise each EventEngine (#29202) 2022-03-30 15:43:05 -07:00
util Support --max_recv_msg_size in grpc cli (#31106) 2022-09-23 11:13:29 -07:00
README-iOS.md Refactor end2end tests to exercise each EventEngine (#29202) 2022-03-30 15:43:05 -07:00