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 
30  : m_semaphore(NULL)
31 {
32  m_semaphore = new sem_t;
33  sem_init_rt(m_semaphore, PTHREAD_PROCESS_PRIVATE, initial_value);
34 }
35 
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 
51 {
52  sem_post_rt(m_semaphore);
53 }
54 
56 {
57  int res = sem_wait_rt(m_semaphore);
58  return (res == 0);
59 }
60 
61 }
62 }
Contains icl_core::logging::SemaphoreImplLxrt33.


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