summaryrefslogtreecommitdiff
path: root/odb/details/thread.hxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2024-01-24 16:53:38 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2024-01-24 16:53:38 +0300
commit26e36b3a9d7b49d46ecfa69b447482251acba8ac (patch)
tree5436b7857fae9aee50d018ea0eef35a529fc03e4 /odb/details/thread.hxx
parent0074faad1b27f3cd52a606c438e4f1375956d731 (diff)
Turn libodb repository into package for muti-package repositorylibodb
Diffstat (limited to 'odb/details/thread.hxx')
-rw-r--r--odb/details/thread.hxx65
1 files changed, 0 insertions, 65 deletions
diff --git a/odb/details/thread.hxx b/odb/details/thread.hxx
deleted file mode 100644
index 9095f68..0000000
--- a/odb/details/thread.hxx
+++ /dev/null
@@ -1,65 +0,0 @@
-// file : odb/details/thread.hxx
-// license : GNU GPL v2; see accompanying LICENSE file
-
-#ifndef ODB_DETAILS_THREAD_HXX
-#define ODB_DETAILS_THREAD_HXX
-
-#include <odb/pre.hxx>
-
-#include <odb/details/config.hxx>
-#include <odb/details/export.hxx>
-
-#ifdef ODB_THREADS_NONE
-# error no thread support available
-#elif defined(ODB_THREADS_CXX11)
-# include <thread>
-# include <future>
-# include <utility> // move()
-
-namespace odb
-{
- namespace details
- {
- class LIBODB_EXPORT thread
- {
- public:
- thread (void* (*thread_func) (void*), void* arg = 0)
- {
- std::promise<void*> p;
- f_ = p.get_future ();
- t_ = std::thread (thunk, thread_func, arg, std::move (p));
- }
-
- void*
- join ()
- {
- f_.wait ();
- t_.join ();
- return f_.get ();
- }
-
- thread (const thread&) = delete;
- thread& operator= (const thread&) = delete;
-
- private:
- static void
- thunk (void* (*) (void*), void*, std::promise<void*>);
-
- private:
- std::thread t_;
- std::future<void*> f_;
- };
- }
-}
-
-#elif defined(ODB_THREADS_POSIX)
-#include <odb/details/posix/thread.hxx>
-#elif defined(ODB_THREADS_WIN32)
-#include <odb/details/win32/thread.hxx>
-#else
-# error unknown threading model
-#endif
-
-#include <odb/post.hxx>
-
-#endif // ODB_DETAILS_THREAD_HXX