Ardour  9.2-266-g5d535d4cb7
rwlock_test.h
Go to the documentation of this file.
1 #include <cppunit/TestFixture.h>
2 #include <cppunit/extensions/HelperMacros.h>
3 #include <atomic>
4 
5 #include "pbd/rwlock.h"
6 
7 class RWLockTest : public CppUnit::TestFixture
8 {
14 
15 public:
18  void run_thread_test ();
20 
21 private:
22  void worker_thread ();
23  static void* launch_worker (void*);
24 
25  void reader_thread_a ();
26  void reader_thread_b ();
27  static void* launch_reader_a (void*);
28  static void* launch_reader_b (void*);
29 
31  std::atomic<int> _sequence;
32 };
CPPUNIT_TEST(single_thread_test)
void run_thread_test()
static void * launch_worker(void *)
static void * launch_reader_a(void *)
PBD::RWLock _rwlock
Definition: rwlock_test.h:30
void reader_thread_a()
void reader_thread_b()
std::atomic< int > _sequence
Definition: rwlock_test.h:31
static void * launch_reader_b(void *)
void single_thread_test()
CPPUNIT_TEST_SUITE_END()
void run_thread_sequence_test()
CPPUNIT_TEST(run_thread_sequence_test)
CPPUNIT_TEST_SUITE(RWLockTest)
void worker_thread()
CPPUNIT_TEST(run_thread_test)