https://github.com/halide/Halide
Raw File
Tip revision: 1c5993e753a08e6b491592da829ba101d2c4d07e authored by Volodymyr Kysenko on 06 December 2020, 20:42:15 UTC
Merge branch 'vksnk/simplify-slice' of https://github.com/halide/Halide into vksnk/simplify-slice
Tip revision: 1c5993e
scoped_mutex_lock.h
#ifndef HALIDE_RUNTIME_SCOPED_MUTEX_LOCK_H
#define HALIDE_RUNTIME_SCOPED_MUTEX_LOCK_H

#include "HalideRuntime.h"

namespace Halide {
namespace Runtime {
namespace Internal {

// An RAII mutex locking operation
struct ScopedMutexLock {
    halide_mutex *mutex;

    ALWAYS_INLINE ScopedMutexLock(halide_mutex *mutex)
        : mutex(mutex) {
        halide_mutex_lock(mutex);
    }

    ALWAYS_INLINE ~ScopedMutexLock() {
        halide_mutex_unlock(mutex);
    }
};

}  // namespace Internal
}  // namespace Runtime
}  // namespace Halide

#endif
back to top