Version: 9.15.0
SemaphorePT.cxx
Go to the documentation of this file.
1
// Copyright (C) 2006-2025 CEA, EDF
2
//
3
// This library is free software; you can redistribute it and/or
4
// modify it under the terms of the GNU Lesser General Public
5
// License as published by the Free Software Foundation; either
6
// version 2.1 of the License, or (at your option) any later version.
7
//
8
// This library is distributed in the hope that it will be useful,
9
// but WITHOUT ANY WARRANTY; without even the implied warranty of
10
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
// Lesser General Public License for more details.
12
//
13
// You should have received a copy of the GNU Lesser General Public
14
// License along with this library; if not, write to the Free Software
15
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
//
17
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18
//
19
20
#include "
SemaphorePT.hxx
"
21
22
using namespace
YACS::BASES
;
23
24
SemaphorePT::SemaphorePT
(
int
initValue)
25
{
26
sem_init(&
_semDesc
, 0, initValue);
27
}
28
29
SemaphorePT::~SemaphorePT
()
30
{
31
sem_destroy(&
_semDesc
);
32
}
33
34
void
SemaphorePT::post
()
35
{
36
sem_post(&
_semDesc
);
37
}
38
39
void
SemaphorePT::wait
()
40
{
41
sem_wait(&
_semDesc
);
42
}
43
44
int
SemaphorePT::getValue
()
45
{
46
int
val;
47
sem_getvalue(&
_semDesc
,&val);
48
return
val;
49
}
SemaphorePT.hxx
YACS::BASES::SemaphorePT::wait
void wait()
Definition:
SemaphorePT.cxx:39
YACS::BASES::SemaphorePT::getValue
int getValue()
Definition:
SemaphorePT.cxx:44
YACS::BASES::SemaphorePT::post
void post()
Definition:
SemaphorePT.cxx:34
YACS::BASES::SemaphorePT::_semDesc
sem_t _semDesc
Definition:
SemaphorePT.hxx:40
YACS::BASES::SemaphorePT::~SemaphorePT
~SemaphorePT()
Definition:
SemaphorePT.cxx:29
YACS::BASES::SemaphorePT::SemaphorePT
SemaphorePT(int initValue=0)
Definition:
SemaphorePT.cxx:24
YACS::BASES
Definition:
AlternateThreadPT.hxx:29
src
bases
SemaphorePT.cxx
Copyright © 2006-2024 CEA, EDF