Halide
scoped_mutex_lock.h
Go to the documentation of this file.
1
#ifndef HALIDE_RUNTIME_SCOPED_MUTEX_LOCK_H
2
#define HALIDE_RUNTIME_SCOPED_MUTEX_LOCK_H
3
4
#include "
HalideRuntime.h
"
5
6
namespace
Halide
{
7
namespace
Runtime {
8
namespace
Internal
{
9
10
// An RAII mutex locking operation
11
struct
ScopedMutexLock
{
12
halide_mutex
*
mutex
;
13
14
ALWAYS_INLINE
ScopedMutexLock
(
halide_mutex
*
mutex
)
15
:
mutex
(
mutex
) {
16
halide_mutex_lock
(
mutex
);
17
}
18
19
ALWAYS_INLINE
~ScopedMutexLock
() {
20
halide_mutex_unlock
(
mutex
);
21
}
22
};
23
24
}
// namespace Internal
25
}
// namespace Runtime
26
}
// namespace Halide
27
28
#endif
Halide::Runtime::Internal::ScopedMutexLock::ScopedMutexLock
ALWAYS_INLINE ScopedMutexLock(halide_mutex *mutex)
Definition:
scoped_mutex_lock.h:14
halide_mutex_lock
void halide_mutex_lock(struct halide_mutex *mutex)
A basic set of mutex and condition variable functions, which call platform specific code for mutual e...
Definition:
synchronization_common.h:874
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition:
AbstractGenerator.h:19
halide_mutex_unlock
void halide_mutex_unlock(struct halide_mutex *mutex)
Definition:
synchronization_common.h:880
Halide::LinkageType::Internal
@ Internal
Not visible externally, similar to 'static' linkage in C.
halide_mutex
Cross-platform mutex.
Definition:
HalideRuntime.h:166
Halide::Runtime::Internal::ScopedMutexLock::mutex
halide_mutex * mutex
Definition:
scoped_mutex_lock.h:12
ALWAYS_INLINE
#define ALWAYS_INLINE
Definition:
runtime_internal.h:55
HalideRuntime.h
Halide::Runtime::Internal::ScopedMutexLock::~ScopedMutexLock
ALWAYS_INLINE ~ScopedMutexLock()
Definition:
scoped_mutex_lock.h:19
Halide::Runtime::Internal::ScopedMutexLock
Definition:
scoped_mutex_lock.h:11
src
runtime
scoped_mutex_lock.h
Generated by
1.8.17