• David Goodell's avatar
    [svn-r6664] overhaul MPICH2's threading macros · 200c7665
    David Goodell authored
    This is actually several logical changes, but they are very difficult to
    separate into individual commits because of how tangled the old macros
    were.  Some of the changes are:
    - general macro cleanup: do{}while(0) and whitespace issues
    - add support for compiler-assisted thread-local storage (TLS)
    - make MPID_Thread (e.g. pthread) TLS macros easier to understand and use
    - drop non-portable parentheses from MPIU_ISTHREADED macro
    - eliminate the MPID_CS_* family of macros which were simultaneously
      complementary to and in conflict with the newer MPIU_THREAD_CS_*
    No reviewer.