I'm not sure what versions of Boost we reasonably support, anyway,
try_join_for was introduced in Boost 1.50: http://www.boost.org/doc/libs/1_50_0/doc/html/thread/thread_management.html#thread.thread_management.thread.try_join_for
1.49 has timed_join, one can accomplish the same with: http://www.boost.org/doc/libs/1_49_0/doc/html/thread/thread_management.html#thread.thread_management.thread.timed_join
However, timed_join was deprecated in 1.50. So a conditional is necessary.
This solution was tested in #7031.