[PATCH] D28226: threading_support: introduce __libcpp_recursive_mutex_t

Saleem Abdulrasool via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 2 23:19:43 PST 2017


compnerd created this revision.
compnerd added reviewers: EricWF, mclow.lists.
compnerd added subscribers: majnemer, smeenai, kastiglione, cfe-commits.
compnerd set the repository for this revision to rL LLVM.

Introduce the new `__libcpp_recursive_mutex_t` which differentiates
between a recursive and non-recursive mutex.  This is motivated by
windows, where a much lighter wait alternative exists for non-recursive
locks.  On pthreads, the same lock type is available with a different
typename and no static initializer value.

Introduce an internal `__libcpp_mutex_reference` to provide an
implicitly move constructed with type-erasure to let the condition
variable handling get a type-erased discriminated-union which we can
handle appropriately.


Repository:
  rL LLVM

https://reviews.llvm.org/D28226

Files:
  include/__threading_support
  include/mutex

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28226.82844.patch
Type: text/x-patch
Size: 5375 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170103/f59ede95/attachment.bin>


More information about the cfe-commits mailing list