Version: 8.3.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
MutexPT.cxx
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
#include "
MutexPT.hxx
"
21
22
using namespace
YACS::BASES;
23
24
MutexPT::MutexPT
()
25
{
26
//pthread_mutexattr_settype(&_options, PTHREAD_MUTEX_FAST_NP);
27
//pthread_mutex_init(&_mutexDesc, &_options);
28
pthread_mutex_init(&
_mutexDesc
, NULL);
// potential hang up at start with commented init
29
}
30
31
MutexPT::~MutexPT
()
32
{
33
pthread_mutex_destroy(&
_mutexDesc
);
34
}
35
36
void
MutexPT::lock
()
37
{
38
pthread_mutex_lock(&
_mutexDesc
);
39
}
40
41
void
MutexPT::unLock
()
42
{
43
pthread_mutex_unlock(&
_mutexDesc
);
44
}
45
46
ConditionPT::ConditionPT
()
47
{
48
pthread_cond_init(&
_cond
, NULL);
49
}
50
51
ConditionPT::~ConditionPT
()
52
{
53
pthread_cond_destroy(&
_cond
);
54
}
55
56
void
ConditionPT::notify_one
()
57
{
58
pthread_cond_signal(&
_cond
);
59
}
60
61
void
ConditionPT::notify_all
()
62
{
63
pthread_cond_broadcast(&
_cond
);
64
}
65
66
void
ConditionPT::wait
(
MutexPT
& mutex)
67
{
68
pthread_cond_wait(&
_cond
, &mutex.
_mutexDesc
);
69
}
70
src
bases
MutexPT.cxx
Copyright © 2006-2017 CEA/DEN, EDF R&D