Robotics Library
0.6.2
rl
util
MutexLocker.h
Go to the documentation of this file.
1
//
2
// Copyright (c) 2009, Markus Rickert
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are met:
7
//
8
// * Redistributions of source code must retain the above copyright notice,
9
// this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above copyright notice,
11
// this list of conditions and the following disclaimer in the documentation
12
// and/or other materials provided with the distribution.
13
//
14
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
// POSSIBILITY OF SUCH DAMAGE.
25
//
26
27
#ifndef _RL_UTIL_MUTEXLOCKER_H_
28
#define _RL_UTIL_MUTEXLOCKER_H_
29
30
#include "
Mutex.h
"
31
32
namespace
rl
33
{
34
namespace
util
35
{
36
class
MutexLocker
37
{
38
public
:
39
explicit
MutexLocker
(
Mutex
*
mutex
) :
40
mutex
(
mutex
)
41
{
42
(*this).
mutex
->lock();
43
}
44
45
virtual
~MutexLocker
()
46
{
47
(*this).mutex->unlock();
48
}
49
50
protected
:
51
52
private
:
53
Mutex
*
mutex
;
54
};
55
}
56
}
57
58
#endif // _RL_UTIL_MUTEXLOCKER_H_
rl::util::Mutex
Definition:
Mutex.h:42
Mutex.h
rl::util::MutexLocker::~MutexLocker
virtual ~MutexLocker()
Definition:
MutexLocker.h:45
rl::util::MutexLocker::MutexLocker
MutexLocker(Mutex *mutex)
Definition:
MutexLocker.h:39
rl::util::Mutex::mutex
pthread_mutex_t mutex
Definition:
Mutex.h:108
rl::util::MutexLocker::mutex
Mutex * mutex
Definition:
MutexLocker.h:53
rl::util::MutexLocker
Definition:
MutexLocker.h:37
rl
Definition:
Ati.cpp:35
Generated by
1.8.20