Jetson Inference
DNN Vision Library
Mutex.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a
5
* copy of this software and associated documentation files (the "Software"),
6
* to deal in the Software without restriction, including without limitation
7
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
* and/or sell copies of the Software, and to permit persons to whom the
9
* Software is furnished to do so, subject to the following conditions:
10
*
11
* The above copyright notice and this permission notice shall be included in
12
* all copies or substantial portions of the Software.
13
*
14
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20
* DEALINGS IN THE SOFTWARE.
21
*/
22
23
#ifndef __MULTITHREAD_MUTEX_H_
24
#define __MULTITHREAD_MUTEX_H_
25
26
#include <pthread.h>
27
28
35
class
Mutex
36
{
37
public
:
41
inline
Mutex
();
42
46
inline
~Mutex
();
47
52
inline
bool
AttemptLock
();
53
58
inline
void
Lock
();
59
63
inline
void
Unlock
();
64
69
inline
void
Sync
();
70
74
inline
pthread_mutex_t*
GetID
();
75
76
protected
:
77
pthread_mutex_t
mID
;
78
};
79
80
// inline implementations
81
#include "Mutex.inl"
82
83
#endif
Mutex::Lock
void Lock()
Aquire the lock, whenever it becomes available.
Mutex::Mutex
Mutex()
Constructor.
Mutex::Unlock
void Unlock()
Release the lock.
Mutex::Sync
void Sync()
Wait for the lock, then release it immediately.
Mutex
A lightweight mutual exclusion lock.
Definition:
Mutex.h:35
Mutex::mID
pthread_mutex_t mID
Definition:
Mutex.h:77
Mutex::AttemptLock
bool AttemptLock()
If the lock is free, aquire it.
Mutex::~Mutex
~Mutex()
Destructor.
Mutex::GetID
pthread_mutex_t * GetID()
Get the mutex object.
jetson-utils
Mutex.h
Generated on Tue Mar 28 2023 14:27:58 for Jetson Inference by
1.8.17