]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Pull in r368867 from upstream libc++ trunk (by Marshall Clow):
authordim <dim@FreeBSD.org>
Tue, 20 Aug 2019 17:39:32 +0000 (17:39 +0000)
committerdim <dim@FreeBSD.org>
Tue, 20 Aug 2019 17:39:32 +0000 (17:39 +0000)
commit23cc093cf6a4be9b388d4f0169faaf00700c4bc8
treef2aeb59006b0fbacfd814a37d74d7486f3dd1870
parentcf5228cea1b455fc436dde98513a95f9a83e2007
Pull in r368867 from upstream libc++ trunk (by Marshall Clow):

  Rework recursive_timed_mutex so that it uses __thread_id instead of
  using the lower-level __libcpp_thread_id. This is prep for fixing
  PR42918. Reviewed as https://reviews.llvm.org/D65895

Pull in r368916 from upstream libc++ trunk (by Marshall Clow):

  Fix thread comparison by making sure we never pass our special 'not a
  thread' value to the underlying implementation. Fixes PR#42918.

This should fix std::thread::id::operator==() attempting to call
pthread_equal(3) with zero values.

Reported by: andrew@tao11.riddles.org.uk
PR: 239038, 239550
MFC after: 3 days
contrib/libc++/include/__threading_support
contrib/libc++/include/mutex
contrib/libc++/include/thread
contrib/libc++/src/mutex.cpp