summaryrefslogtreecommitdiff
path: root/include/threads.h
AgeCommit message (Collapse)AuthorLines
2014-12-09don't shadow functions with macros in C++Bobby Bingham-0/+2
C++ programmers typically expect something like "::function(x,y)" to work and may be surprised to find that "(::function)(x,y)" is actually required due to the headers declaring a macro version of some standard functions. We already omit function-like macros for C++ in most cases where there is a real function available. This commit extends this to the remaining function-like macros which have a real function version.
2014-09-06add threads.h and needed per-arch types for mtx_t and cnd_tRich Felker-0/+85
based on patch by Jens Gustedt. mtx_t and cnd_t are defined in such a way that they are formally "compatible types" with pthread_mutex_t and pthread_cond_t, respectively, when accessed from a different translation unit. this makes it possible to implement the C11 functions using the pthread functions (which will dereference them with the pthread types) without having to use the same types, which would necessitate either namespace violations (exposing pthread type names in threads.h) or incompatible changes to the C++ name mangling ABI for the pthread types. for the rest of the types, things are much simpler; using identical types is possible without any namespace considerations.