summaryrefslogtreecommitdiff
path: root/libcutl/cutl/details/boost/smart_ptr/detail/lightweight_mutex.hpp
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2025-05-02 07:42:02 +0200
committerJörg Frings-Fürst <debian@jff.email>2025-05-02 07:42:02 +0200
commitfc486627a4ecbae797fa6856d8a9204ea85f4db8 (patch)
treeff3dae4c0e5d980d8e2da4fc6256ae839269bbcd /libcutl/cutl/details/boost/smart_ptr/detail/lightweight_mutex.hpp
parent1c188393cd2e271ed2581471b601fb5960777fd8 (diff)
parentecba0bbd9947036dd82f16ab95252f8db445e149 (diff)
Merge tag 'debian/4.0.0-10' into developdevelop
Bugfix release
Diffstat (limited to 'libcutl/cutl/details/boost/smart_ptr/detail/lightweight_mutex.hpp')
-rw-r--r--libcutl/cutl/details/boost/smart_ptr/detail/lightweight_mutex.hpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/libcutl/cutl/details/boost/smart_ptr/detail/lightweight_mutex.hpp b/libcutl/cutl/details/boost/smart_ptr/detail/lightweight_mutex.hpp
new file mode 100644
index 0000000..48595b2
--- /dev/null
+++ b/libcutl/cutl/details/boost/smart_ptr/detail/lightweight_mutex.hpp
@@ -0,0 +1,42 @@
+#ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
+#define BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
+
+// MS compatible compilers support #pragma once
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+//
+// boost/detail/lightweight_mutex.hpp - lightweight mutex
+//
+// Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd.
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// typedef <unspecified> cutl_details_boost::detail::lightweight_mutex;
+//
+// cutl_details_boost::detail::lightweight_mutex is a header-only implementation of
+// a subset of the Mutex concept requirements:
+//
+// http://www.boost.org/doc/html/threads/concepts.html#threads.concepts.Mutex
+//
+// It maps to a CRITICAL_SECTION on Windows or a pthread_mutex on POSIX.
+//
+
+#include <cutl/details/boost/config.hpp>
+
+#if !defined(BOOST_HAS_THREADS)
+# include <cutl/details/boost/smart_ptr/detail/lwm_nop.hpp>
+#elif defined(BOOST_HAS_PTHREADS)
+# include <cutl/details/boost/smart_ptr/detail/lwm_pthreads.hpp>
+#elif defined(BOOST_HAS_WINTHREADS) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+# include <cutl/details/boost/smart_ptr/detail/lwm_win32_cs.hpp>
+#else
+// Use #define BOOST_DISABLE_THREADS to avoid the error
+# error Unrecognized threading platform
+#endif
+
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED