1 #ifndef OSMIUM_THREAD_UTIL_HPP 2 #define OSMIUM_THREAD_UTIL_HPP 40 # include <sys/prctl.h> 54 if (future.valid() && future.wait_for(std::chrono::seconds(0)) == std::future_status::ready) {
75 prctl(PR_SET_NAME, name, 0, 0, 0);
93 template <
typename TFunction,
typename... TArgs>
95 m_thread(
std::forward<TFunction>(f),
std::forward<TArgs>(args)...) {
105 if (m_thread.joinable()) {
116 #endif // OSMIUM_THREAD_UTIL_HPP thread_handler()
Definition: util.hpp:89
~thread_handler()
Definition: util.hpp:104
void set_thread_name(const char *name) noexcept
Definition: util.hpp:74
Definition: reader_iterator.hpp:39
Namespace for everything in the Osmium library.
Definition: assembler.hpp:59
std::thread m_thread
Definition: util.hpp:85
thread_handler(TFunction &&f, TArgs &&...args)
Definition: util.hpp:94
thread_handler & operator=(const thread_handler &)=delete
void check_for_exception(std::future< T > &future)
Definition: util.hpp:53
void wait_until_done(std::future< T > &future)
Definition: util.hpp:64