From 38939ffbdf2ddffd4e7d4a283796c5cbab14e804 Mon Sep 17 00:00:00 2001 From: Finn Williams Date: Thu, 16 Apr 2020 16:57:59 +0100 Subject: IVGCVSW-4701 Make the GUIDGenerator thread safe Signed-off-by: Finn Williams Change-Id: Ide55731c51a8b77d71bfa4f3f7f0d122bb643d87 --- src/profiling/test/ProfilingGuidTest.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/profiling/test') diff --git a/src/profiling/test/ProfilingGuidTest.cpp b/src/profiling/test/ProfilingGuidTest.cpp index 5782d21cf8..b8f6b88479 100644 --- a/src/profiling/test/ProfilingGuidTest.cpp +++ b/src/profiling/test/ProfilingGuidTest.cpp @@ -12,6 +12,7 @@ #include #include +#include using namespace armnn::profiling; @@ -124,4 +125,28 @@ BOOST_AUTO_TEST_CASE(DynamicGuidGeneratorTest) } } +BOOST_AUTO_TEST_CASE (ProfilingGuidThreadTest) +{ + ProfilingGuidGenerator profilingGuidGenerator; + + auto guidGenerator = [&profilingGuidGenerator]() + { + for (int i = 0; i < 1000; ++i) + { + profilingGuidGenerator.NextGuid(); + } + }; + + std::thread t1(guidGenerator); + std::thread t2(guidGenerator); + std::thread t3(guidGenerator); + + t1.join(); + t2.join(); + t3.join(); + + uint64_t guid = profilingGuidGenerator.NextGuid(); + BOOST_CHECK(guid == 3000u); +} + BOOST_AUTO_TEST_SUITE_END() -- cgit v1.2.1