Date: Tue, 03 Sep 2019 17:32:20 +0000 From: bugzilla-noreply@freebsd.org To: threads@FreeBSD.org Subject: [Bug 239550] std::thread::id uses pthread_equal in undefined ways not handled by _pthread_stubs Message-ID: <bug-239550-13406-ufXc6BO1bQ@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-239550-13406@https.bugs.freebsd.org/bugzilla/> References: <bug-239550-13406@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D239550 --- Comment #5 from commit-hook@freebsd.org --- A commit references this bug: Author: dim Date: Tue Sep 3 17:31:14 UTC 2019 New revision: 351767 URL: https://svnweb.freebsd.org/changeset/base/351767 Log: MFC r351253: 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=3D=3D() attempting to call pthread_equal(3) with zero values. Reported by: andrew@tao11.riddles.org.uk PR: 239038, 239550 Changes: _U stable/11/ stable/11/contrib/libc++/include/__threading_support stable/11/contrib/libc++/include/mutex stable/11/contrib/libc++/include/thread stable/11/contrib/libc++/src/mutex.cpp _U stable/12/ stable/12/contrib/libc++/include/__threading_support stable/12/contrib/libc++/include/mutex stable/12/contrib/libc++/include/thread stable/12/contrib/libc++/src/mutex.cpp --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-239550-13406-ufXc6BO1bQ>