[PATCH] D110349: [libcxx][SystemZ][z/OS] Added is_threading_api_enabled and might_have_multiple_threads to __threading_support

Sean via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 9 09:25:25 PST 2021


SeanP added a comment.

Louis,  we don't want to make the entire threading model for z/OS to be dynamic.  We would like to say the threading model uses pthread, but we need to enable these guard functions to work in programs that use threading and not.  As Daniel pointed out a number of the libc++ threading functions used by these guard functions are not trivial to implement for a non-threading application.  I would also worry about other parts of the library that should be using threading behaving correctly.  We are open to other options.  We could change the conditional compilations so both forms of the guard functions are available and call the right one depending on if threading is enabled or not.  Would that be acceptable?

The real problem being addressed is that programs that are run in the non POSIX environment (can be determined by an environment variable) cannot be calling the pthread functions by these guard functions.  The performance benefit is side gain.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110349/new/

https://reviews.llvm.org/D110349



More information about the llvm-commits mailing list