Version: 8.3.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
MutexPT.hxx
Go to the documentation of this file.
1
// Copyright (C) 2006-2016 CEA/DEN, EDF R&D
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
#ifndef __MUTEXPT_HXX__
21
#define __MUTEXPT_HXX__
22
23
#include "
YACSBasesExport.hxx
"
24
25
#include <pthread.h>
26
27
namespace
YACS
28
{
29
namespace
BASES
30
{
31
class
ConditionPT;
32
33
class
YACSBASES_EXPORT
MutexPT
34
{
35
public
:
36
MutexPT
();
37
~
MutexPT
();
38
void
lock();
39
void
unLock();
40
friend
class
ConditionPT
;
41
private
:
42
pthread_mutex_t
_mutexDesc
;
43
pthread_mutexattr_t
_options
;
44
45
};
46
47
class
YACSBASES_EXPORT
ConditionPT
48
{
49
public
:
50
ConditionPT
();
51
~
ConditionPT
();
52
void
notify_one();
53
void
notify_all();
54
void
wait(
MutexPT
& mutex);
55
private
:
56
pthread_cond_t
_cond
;
57
};
58
}
59
}
60
61
#endif
src
bases
MutexPT.hxx
Copyright © 2006-2017 CEA/DEN, EDF R&D