diff options
author | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2016-12-08 08:12:49 -0800 |
---|---|---|
committer | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2016-12-08 08:12:49 -0800 |
commit | 7bfff85355215a4702d4d42b1f3bfbfc08977372 (patch) | |
tree | 8698dff508476a28aece2f17fd5793407b987a15 /unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h | |
parent | 6811e6cf492731b3e1504bfa42237f909c93d129 (diff) |
Added support for thread cancellation on Linux
Diffstat (limited to 'unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h')
-rw-r--r-- | unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h b/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h new file mode 100644 index 000000000..a05685f11 --- /dev/null +++ b/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h @@ -0,0 +1,23 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// Copyright (C) 2016 Benoit Steiner <benoit.steiner.goog@gmail.com> +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + +#ifndef EIGEN_CXX11_THREADPOOL_THREAD_CANCEL_H +#define EIGEN_CXX11_THREADPOOL_THREAD_CANCEL_H + +// Try to come up with a portable way to cancel a thread +#if EIGEN_OS_GNULINUX + #define EIGEN_THREAD_CANCEL(t) \ + pthread_cancel(t.native_handle()); + #define EIGEN_SUPPORTS_THREAD_CANCELLATION 1 +#else +#define EIGEN_THREAD_CANCEL(t) +#endif + + +#endif // EIGEN_CXX11_THREADPOOL_THREAD_CANCEL_H |