Kea 1.5.0
threaded_test.cc
Go to the documentation of this file.
1// Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
8
9using namespace isc::util::thread;
10
11namespace isc {
12namespace test {
13
15 : thread_(), condvar_(), ready_(false), stopping_(false),
16 stopped_(false) {
17}
18
19void
21 {
23 flag = true;
24 }
26}
27
28void
31}
32
33void
36}
37
38void
41}
42
43void
46 while (!flag) {
48 }
49}
50
51void
54}
55
56void
59}
60
61void
64}
65
66bool
69 return (stopping_);
70}
71
72} // end of namespace isc::test
73} // end of namespace isc
void doWait(bool &flag)
Wait for a selected flag to be set.
void doSignal(bool &flag)
Sets selected flag to true and signals condition variable.
bool ready_
Flag indicating that the thread is ready.
Definition: threaded_test.h:74
void waitStopped()
Wait for the thread to stop.
bool stopped_
Flag indicating that the thread is stopped.
Definition: threaded_test.h:80
ThreadedTest()
Constructor.
void waitStopping()
Wait for the thread to be stopping.
void signalStopped()
Signal that thread is stopped.
bool stopping_
Flag indicating that the thread is stopping.
Definition: threaded_test.h:77
util::thread::CondVar condvar_
Condtional variable for thread waits.
Definition: threaded_test.h:71
bool isStopping()
Checks if the thread is stopping.
void waitReady()
Wait for the thread to be ready.
util::thread::Mutex mutex_
Mutex used to synchronize threads.
Definition: threaded_test.h:68
void signalStopping()
Signal that thread is stopping.
void signalReady()
Signal that thread is ready.
void wait(Mutex &mutex)
Wait on the condition variable.
Definition: sync.cc:225
void signal()
Unblock a thread waiting for the condition variable.
Definition: sync.cc:242
This holds a lock on a Mutex.
Definition: sync.h:72
Wrappers for thread related functionality.
Definition: sync.cc:24
Defines the logger used by the top-level component of kea-dhcp-ddns.