Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
icl_core
src
icl_core_logging
icl_core_logging/SemaphoreImplDarwin.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 <mach/mach_init.h>
23
#include <mach/task.h>
24
25
#include "
SemaphoreImplDarwin.h
"
26
27
namespace
icl_core
{
28
namespace
logging {
29
30
SemaphoreImplDarwin::SemaphoreImplDarwin
(
size_t
initial_value)
31
: m_semaphore(0)
32
{
33
semaphore_create(mach_task_self(), &
m_semaphore
, SYNC_POLICY_FIFO, initial_value);
34
}
35
36
SemaphoreImplDarwin::~SemaphoreImplDarwin
()
37
{
38
semaphore_destroy(mach_task_self(),
m_semaphore
);
39
m_semaphore
= 0;
40
}
41
42
void
SemaphoreImplDarwin::post
()
43
{
44
semaphore_signal(
m_semaphore
);
45
}
46
47
bool
SemaphoreImplDarwin::wait
()
48
{
49
kern_return_t res = semaphore_wait(
m_semaphore
);
50
return
(res == KERN_SUCCESS);
51
}
52
53
}
54
}
icl_core::logging::SemaphoreImplDarwin::SemaphoreImplDarwin
SemaphoreImplDarwin(size_t initial_value)
Definition:
icl_core_logging/SemaphoreImplDarwin.cpp:30
SemaphoreImplDarwin.h
Contains icl_core::logging::SemaphoreImplDarwin.
icl_core::logging::SemaphoreImplDarwin::post
virtual void post()
Definition:
icl_core_logging/SemaphoreImplDarwin.cpp:42
icl_core::logging::SemaphoreImplDarwin::wait
virtual bool wait()
Definition:
icl_core_logging/SemaphoreImplDarwin.cpp:47
icl_core::logging::SemaphoreImplDarwin::~SemaphoreImplDarwin
virtual ~SemaphoreImplDarwin()
Definition:
icl_core_logging/SemaphoreImplDarwin.cpp:36
icl_core::logging::SemaphoreImplDarwin::m_semaphore
semaphore_t m_semaphore
Definition:
icl_core_logging/SemaphoreImplDarwin.h:48
icl_core
Definition:
Array2D.h:30
fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:58