Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/util/util_thread.h')
-rw-r--r--intern/cycles/util/util_thread.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/intern/cycles/util/util_thread.h b/intern/cycles/util/util_thread.h
index 427c633d2ce..1e91fb8a706 100644
--- a/intern/cycles/util/util_thread.h
+++ b/intern/cycles/util/util_thread.h
@@ -32,7 +32,7 @@
# include <libkern/OSAtomic.h>
#endif
-#include "util_function.h"
+#include "util/util_function.h"
CCL_NAMESPACE_BEGIN
@@ -106,6 +106,23 @@ protected:
#endif
};
+class thread_scoped_spin_lock {
+public:
+ explicit thread_scoped_spin_lock(thread_spin_lock& lock)
+ : lock_(lock) {
+ lock_.lock();
+ }
+
+ ~thread_scoped_spin_lock() {
+ lock_.unlock();
+ }
+
+ /* TODO(sergey): Implement manual control over lock/unlock. */
+
+protected:
+ thread_spin_lock& lock_;
+};
+
CCL_NAMESPACE_END
#endif /* __UTIL_THREAD_H__ */