| 765 | } |
| 766 | |
| 767 | inline bool thread::do_try_join_until(detail::internal_platform_timepoint const &timeout) |
| 768 | { |
| 769 | if (this_thread::get_id() == get_id()) |
| 770 | boost::throw_exception(thread_resource_error(static_cast<int>(system::errc::resource_deadlock_would_occur), "boost thread: trying joining itself")); |
| 771 | bool res; |
| 772 | if (do_try_join_until_noexcept(timeout, res)) |
| 773 | { |
| 774 | return res; |
| 775 | } |
| 776 | else |
| 777 | { |
| 778 | BOOST_THREAD_THROW_ELSE_RETURN( |
| 779 | (thread_resource_error(static_cast<int>(system::errc::invalid_argument), "boost thread: thread not joinable")), |
| 780 | false |
| 781 | ); |
| 782 | } |
| 783 | } |
| 784 | |
| 785 | #if !defined(BOOST_NO_IOSTREAM) && defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) |
| 786 | template<class charT, class traits> |
nothing calls this directly
no test coverage detected