Coin
4.0.3
Coin3D core library
Loading...
Searching...
No Matches
SbThreadAutoLock.h
1
#ifndef COIN_SBTHREADAUTOLOCK_H
2
#define COIN_SBTHREADAUTOLOCK_H
3
4
/**************************************************************************\
5
* Copyright (c) Kongsberg Oil & Gas Technologies AS
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions are
10
* met:
11
*
12
* Redistributions of source code must retain the above copyright notice,
13
* this list of conditions and the following disclaimer.
14
*
15
* Redistributions in binary form must reproduce the above copyright
16
* notice, this list of conditions and the following disclaimer in the
17
* documentation and/or other materials provided with the distribution.
18
*
19
* Neither the name of the copyright holder nor the names of its
20
* contributors may be used to endorse or promote products derived from
21
* this software without specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
\**************************************************************************/
35
36
#include <Inventor/threads/SbThreadMutex.h>
37
#include <Inventor/threads/SbMutex.h>
38
39
class
SbThreadAutoLock
40
{
41
protected
:
42
SbMutex
* mutex;
43
SbThreadMutex
* recmutex;
44
45
public
:
46
SbThreadAutoLock
(
SbMutex
*
mutexptr
) {
47
this->mutex =
mutexptr
;
48
this->mutex->lock();
49
this->recmutex =
NULL
;
50
}
51
SbThreadAutoLock
(
SbThreadMutex
*
mutexptr
) {
52
this->recmutex =
mutexptr
;
53
this->recmutex->lock();
54
this->mutex =
NULL
;
55
}
56
57
~SbThreadAutoLock
() {
58
if
(this->mutex) this->mutex->unlock();
59
if
(this->recmutex) this->recmutex->unlock();
60
}
61
};
62
63
#endif
// !COIN_SBTHREADAUTOLOCK_H
SbList
The SbList class is a template container class for lists.
Definition
SbList.h:70
SbMutex
Definition
SbMutex.h:39
SbThreadAutoLock
Definition
SbThreadAutoLock.h:40
SbThreadMutex
Definition
SbThreadMutex.h:39
include
Inventor
threads
SbThreadAutoLock.h
Generated on Sun Nov 17 2024 22:57:40 for Coin by
1.10.0