Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
icl_core
src
icl_core_logging
icl_core_logging/SemaphoreImplPosix.cpp
Go to the documentation of this file.
1
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2
3
// -- BEGIN LICENSE BLOCK ----------------------------------------------
4
// This file is part of FZIs ic_workspace.
5
//
6
// This program is free software licensed under the LGPL
7
// (GNU LESSER GENERAL PUBLIC LICENSE Version 3).
8
// You can find a copy of this license in LICENSE folder in the top
9
// directory of the source code.
10
//
11
// © Copyright 2016 FZI Forschungszentrum Informatik, Karlsruhe, Germany
12
//
13
// -- END LICENSE BLOCK ------------------------------------------------
14
15
//----------------------------------------------------------------------
21
//----------------------------------------------------------------------
22
#include "
SemaphoreImplPosix.h
"
23
24
#include <errno.h>
25
26
namespace
icl_core
{
27
namespace
logging {
28
29
SemaphoreImplPosix::SemaphoreImplPosix
(
size_t
initial_value)
30
: m_semaphore(0)
31
{
32
m_semaphore
=
new
sem_t;
33
sem_init(
m_semaphore
, 0, initial_value);
34
}
35
36
SemaphoreImplPosix::~SemaphoreImplPosix
()
37
{
38
if
(
m_semaphore
)
39
{
40
sem_destroy(
m_semaphore
);
41
delete
m_semaphore
;
42
m_semaphore
= 0;
43
}
44
}
45
46
void
SemaphoreImplPosix::post
()
47
{
48
sem_post(
m_semaphore
);
49
}
50
51
bool
SemaphoreImplPosix::wait
()
52
{
53
int
res = sem_wait(
m_semaphore
);
54
return
(res == 0);
55
}
56
57
}
58
}
icl_core::logging::SemaphoreImplPosix::wait
virtual bool wait()
Definition:
icl_core_logging/SemaphoreImplPosix.cpp:51
icl_core::logging::SemaphoreImplPosix::m_semaphore
sem_t * m_semaphore
Definition:
icl_core_logging/SemaphoreImplPosix.h:47
icl_core::logging::SemaphoreImplPosix::post
virtual void post()
Definition:
icl_core_logging/SemaphoreImplPosix.cpp:46
SemaphoreImplPosix.h
Contains icl_core::thread::SemaphoreImplPosix.
icl_core
Definition:
Array2D.h:30
icl_core::logging::SemaphoreImplPosix::~SemaphoreImplPosix
virtual ~SemaphoreImplPosix()
Definition:
icl_core_logging/SemaphoreImplPosix.cpp:36
icl_core::logging::SemaphoreImplPosix::SemaphoreImplPosix
SemaphoreImplPosix(size_t initial_value)
Definition:
icl_core_logging/SemaphoreImplPosix.cpp:29
fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:58