Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IVT
src
Threading
Mutex.h
Go to the documentation of this file.
1
// ****************************************************************************
2
// This file is part of the Integrating Vision Toolkit (IVT).
3
//
4
// The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
5
// (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
6
//
7
// Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
8
// All rights reserved.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are met:
12
//
13
// 1. Redistributions of source code must retain the above copyright
14
// notice, this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright
17
// notice, this list of conditions and the following disclaimer in the
18
// documentation and/or other materials provided with the distribution.
19
//
20
// 3. Neither the name of the KIT nor the names of its contributors may be
21
// used to endorse or promote products derived from this software
22
// without specific prior written permission.
23
//
24
// THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
25
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
// DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
28
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
// ****************************************************************************
35
// ****************************************************************************
36
// Filename: Mutex.h
37
// Author: Kai Welke
38
// Date: 13.01.2006
39
// ****************************************************************************
40
41
42
#ifndef _MUTEX_H_
43
#define _MUTEX_H_
44
45
46
// ****************************************************************************
47
// Necessary includes
48
// ****************************************************************************
49
50
#ifdef WIN32
51
#include <windows.h>
52
#else
53
#include <pthread.h>
54
#include <errno.h>
55
#endif
56
57
#include "
Threading.h
"
58
59
60
61
// ****************************************************************************
62
// CMutex
63
// ****************************************************************************
64
69
class
CMutex
70
{
71
public
:
72
// constructor
73
CMutex
();
74
75
// destructor
76
~CMutex
();
77
78
// locks the mutex
79
Threading::EMutexStatus
Lock
();
80
81
// tries to lock mutex
82
Threading::EMutexStatus
TryLock
();
83
84
// unlocks a mutex
85
Threading::EMutexStatus
UnLock
();
86
87
88
private
:
89
#ifdef WIN32
90
CRITICAL_SECTION m_CSWindowsMutex;
91
#else
92
pthread_mutex_t
m_PosixMutex
;
93
pthread_mutexattr_t
m_MutexAttr
;
94
#endif
95
};
96
97
98
99
#endif
/* _MUTEX_H_ */
CMutex::m_MutexAttr
pthread_mutexattr_t m_MutexAttr
Definition:
Mutex.h:93
CMutex
Implementation of mutexes for synchronization.
Definition:
Mutex.h:69
CMutex::UnLock
Threading::EMutexStatus UnLock()
Definition:
Mutex.cpp:126
CMutex::CMutex
CMutex()
Definition:
Mutex.cpp:56
CMutex::~CMutex
~CMutex()
Definition:
Mutex.cpp:66
CMutex::m_PosixMutex
pthread_mutex_t m_PosixMutex
Definition:
Mutex.h:92
CMutex::Lock
Threading::EMutexStatus Lock()
Definition:
Mutex.cpp:82
Threading::EMutexStatus
EMutexStatus
Definition:
Threading.h:62
CMutex::TryLock
Threading::EMutexStatus TryLock()
Definition:
Mutex.cpp:96
Threading.h
asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Mon Dec 2 2019 03:47:28