Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
icl_core
src
icl_core_logging
icl_core_logging/SemaphoreImplLxrt33.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 "
SemaphoreImplLxrt33.h
"
23
24
#include <errno.h>
25
26
namespace
icl_core
{
27
namespace
logging {
28
29
SemaphoreImplLxrt33::SemaphoreImplLxrt33
(
size_t
initial_value)
30
: m_semaphore(NULL)
31
{
32
m_semaphore
=
new
sem_t;
33
sem_init_rt(
m_semaphore
, PTHREAD_PROCESS_PRIVATE, initial_value);
34
}
35
36
SemaphoreImplLxrt33::~SemaphoreImplLxrt33
()
37
{
38
if
(
m_semaphore
== NULL)
39
{
40
// Nothing to be done here!
41
}
42
else
43
{
44
sem_destroy_rt(
m_semaphore
);
45
delete
m_semaphore
;
46
m_semaphore
= 0;
47
}
48
}
49
50
void
SemaphoreImplLxrt33::post
()
51
{
52
sem_post_rt(
m_semaphore
);
53
}
54
55
bool
SemaphoreImplLxrt33::wait
()
56
{
57
int
res = sem_wait_rt(
m_semaphore
);
58
return
(res == 0);
59
}
60
61
}
62
}
icl_core::logging::SemaphoreImplLxrt33::wait
virtual bool wait()
Definition:
icl_core_logging/SemaphoreImplLxrt33.cpp:55
SemaphoreImplLxrt33.h
Contains icl_core::logging::SemaphoreImplLxrt33.
icl_core::logging::SemaphoreImplLxrt33::SemaphoreImplLxrt33
SemaphoreImplLxrt33(size_t initial_value)
Definition:
icl_core_logging/SemaphoreImplLxrt33.cpp:29
icl_core::logging::SemaphoreImplLxrt33::~SemaphoreImplLxrt33
virtual ~SemaphoreImplLxrt33()
Definition:
icl_core_logging/SemaphoreImplLxrt33.cpp:36
icl_core::logging::SemaphoreImplLxrt33::m_semaphore
sem_t * m_semaphore
Definition:
icl_core_logging/SemaphoreImplLxrt33.h:47
icl_core
Definition:
Array2D.h:30
icl_core::logging::SemaphoreImplLxrt33::post
virtual void post()
Definition:
icl_core_logging/SemaphoreImplLxrt33.cpp:50
fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:58