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 
30  : m_semaphore(0)
31 {
32  m_semaphore = new sem_t;
33  sem_init(m_semaphore, 0, initial_value);
34 }
35 
37 {
38  if (m_semaphore)
39  {
40  sem_destroy(m_semaphore);
41  delete m_semaphore;
42  m_semaphore = 0;
43  }
44 }
45 
47 {
48  sem_post(m_semaphore);
49 }
50 
52 {
53  int res = sem_wait(m_semaphore);
54  return (res == 0);
55 }
56 
57 }
58 }
Contains icl_core::thread::SemaphoreImplPosix.


fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:58