Halide
21.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
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
explicit
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
HalideRuntime.h
This file declares the routines used by Halide internally in its runtime.
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:876
halide_mutex_unlock
void halide_mutex_unlock(struct halide_mutex *mutex)
Definition
synchronization_common.h:882
Halide::Runtime::Internal
Definition
constants.h:13
Halide::Runtime
Definition
constants.h:12
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition
AbstractGenerator.h:19
ALWAYS_INLINE
#define ALWAYS_INLINE
Definition
runtime_internal.h:57
Halide::Runtime::Internal::ScopedMutexLock::~ScopedMutexLock
ALWAYS_INLINE ~ScopedMutexLock()
Definition
scoped_mutex_lock.h:19
Halide::Runtime::Internal::ScopedMutexLock::mutex
halide_mutex * mutex
Definition
scoped_mutex_lock.h:12
Halide::Runtime::Internal::ScopedMutexLock::ScopedMutexLock
ALWAYS_INLINE ScopedMutexLock(halide_mutex *mutex)
Definition
scoped_mutex_lock.h:14
halide_mutex
Cross-platform mutex.
Definition
HalideRuntime.h:191
src
runtime
scoped_mutex_lock.h
Generated by
1.14.0