libcxx中的std :: thread :: join在哪里实现

时间:2013-03-28 10:08:36

标签: c++ c++11 clang

我想知道 libcxx 中实现std::thread::join的位置。虽然它在<thread>标题中声明,但似乎没有定义。我甚至看过 libcxxabi ,但也找不到它。

有人可以指出,它在哪里实施?

1 个答案:

答案 0 :(得分:2)

位于src/thread.cpp,靠近顶部:

void
thread::join()
{
    int ec = pthread_join(__t_, 0);
#ifndef _LIBCPP_NO_EXCEPTIONS
    if (ec)
        throw system_error(error_code(ec, system_category()), "thread::join failed");
#else
    (void)ec;
#endif  // _LIBCPP_NO_EXCEPTIONS
    __t_ = 0;
}