diff options
| author | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-11 15:07:35 -0300 |
|---|---|---|
| committer | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-11 15:07:35 -0300 |
| commit | 4cb8841196d0625dfa3825aa326f071cd27c7b8b (patch) | |
| tree | 1682a647d4463397c119183369ae6f750d5fdcff /src/mongo/util/stacktrace_test.cpp | |
| parent | aa03c6362cbaa767638e6eed9b031d86dd2643d1 (diff) | |
| parent | 8f0827553e09872941945a093b647a4211a9db7f (diff) | |
Update upstream source from tag 'upstream/6.0.0'master
Update to upstream version '6.0.0'
with Debian dir 5604a80ec1c96ca76f25f40d78e6ef855abec322
Diffstat (limited to 'src/mongo/util/stacktrace_test.cpp')
| -rw-r--r-- | src/mongo/util/stacktrace_test.cpp | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/src/mongo/util/stacktrace_test.cpp b/src/mongo/util/stacktrace_test.cpp index 6c6d2f36366..2a9ad180c28 100644 --- a/src/mongo/util/stacktrace_test.cpp +++ b/src/mongo/util/stacktrace_test.cpp @@ -645,64 +645,6 @@ TEST_F(PrintAllThreadStacksTest, Go_200_Threads) { doPrintAllThreadStacks(200); } -TEST_F(PrintAllThreadStacksTest, SessionBasic) { - stack_trace_detail::PrintAllStacksSession session; - - auto waiter = boost::make_optional(session.waiter()); - stdx::thread producer{[&] { auto notifier = session.notifier(); }}; - waiter = {}; - producer.join(); -} - -TEST_F(PrintAllThreadStacksTest, SessionProducerConsumers) { - synchronized_value<std::string> values; - stack_trace_detail::PrintAllStacksSession session; - - struct PromiseFuture { - SharedPromise<void> promise; - SharedSemiFuture<void> future; - }; - - std::vector<PromiseFuture> promisesFutures(2); - - for (auto& pf : promisesFutures) { - pf.future = pf.promise.getFuture(); - } - - std::vector<stdx::thread> consumers; - for (auto& pf : promisesFutures) { - consumers.emplace_back([&, p = &pf.promise] { - auto waiter = boost::make_optional(session.waiter()); - p->emplaceValue(); - waiter = {}; - values->push_back('3'); - }); - } - - // This does not enforce ordering between push_back('3') above and the push_back calls below if - // PrintAllStacksSession::waiter/notifier don't. - for (auto& pf : promisesFutures) { - pf.future.wait(); - } - - stdx::thread producer{[&] { - values->push_back('1'); - auto notifier = boost::make_optional(session.notifier()); - values->push_back('2'); - notifier = {}; - values->push_back('3'); - }}; - - for (auto& consumer : consumers) { - consumer.join(); - } - - producer.join(); - - auto guard = values.synchronize(); - ASSERT(*guard == "12333") << *guard; -} - #endif // defined(MONGO_STACKTRACE_CAN_DUMP_ALL_THREADS) #if defined(MONGO_CONFIG_USE_LIBUNWIND) || defined(MONGO_CONFIG_HAVE_EXECINFO_BACKTRACE) |
