Botan
3.6.1
Crypto and TLS for C&
src
lib
utils
thread_utils
semaphore.h
Go to the documentation of this file.
1
/*
2
* Semaphore
3
* (C) 2013 Joel Low
4
*
5
* Botan is released under the Simplified BSD License (see license.txt)
6
*/
7
8
#ifndef BOTAN_SEMAPHORE_H_
9
#define BOTAN_SEMAPHORE_H_
10
11
#include <condition_variable>
12
#include <mutex>
13
14
namespace
Botan
{
15
16
class
Semaphore
final
{
17
public
:
18
explicit
Semaphore
(
int
value = 0) : m_value(value), m_wakeups(0) {}
19
20
void
acquire
();
21
22
void
release
(
size_t
n = 1);
23
24
private
:
25
int
m_value;
26
int
m_wakeups;
27
std::mutex m_mutex;
28
std::condition_variable m_cond;
29
};
30
31
}
// namespace Botan
32
33
#endif
Botan::Semaphore
Definition
semaphore.h:16
Botan::Semaphore::release
void release(size_t n=1)
Definition
semaphore.cpp:14
Botan::Semaphore::Semaphore
Semaphore(int value=0)
Definition
semaphore.h:18
Botan::Semaphore::acquire
void acquire()
Definition
semaphore.cpp:25
final
int(* final)(unsigned char *, CTX *)
Definition
commoncrypto_hash.cpp:29
Botan
Definition
alg_id.cpp:13
Generated by
1.12.0