This is an archive of the discontinued LLVM Phabricator instance.

[libcxx][SystemZ][z/OS] Added ceeedb.h for ceeedb_multithread and ceeedb_posix
Needs ReviewPublic

Authored by DanielMcIntosh-IBM on Jan 14 2022, 4:52 PM.

Details

Reviewers
ldionne
Mordante
Quuxplusone
Group Reviewers
Restricted Project
Summary

On z/OS, the availability of several POSIX functions depends on the
environment at program start. As a result, we don't know at compile
time if mutexes and multithreading is supported.

The z/OS Language Environment provides a flag CEEEDB_POSIX to check
whether POSIX functions (and thus threading support) is enabled. It
also provides a flag CEEEDBMULTITHREAD which is set to true when more
than 1 thread is running, which we can use as an alternative in some
cases to get a little extra performance out of single-threaded
applications.

This is the 1st of 4 changes to add support for POSIX(OFF) on z/OS.
See D117366 for more background, and D110349 for discussion of an
alternative implementation.

Diff Detail

Event Timeline

DanielMcIntosh-IBM requested review of this revision.Jan 14 2022, 4:52 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJan 14 2022, 4:52 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
DanielMcIntosh-IBM edited the summary of this revision. (Show Details)Jan 14 2022, 5:17 PM