Tru64 UNIX
Guide to the POSIX Threads Library


Previous Contents Index

R
Race conditions
    among threads
    avoiding
    word tearing
RAISE macro
Read-write lock attributes objects
    creating
    destroying
    get process-shared attribute value
    initializing
    set process-shared attribute value
Read-write locks #1
Read-write locks #2
    attributes
    changing object name in
    creating #1
    creating #2
    destroying #1
    destroying #2
    destroying #3
    initializing #1
    initializing #2
    initializing #3
    locking
        for read access #1
        for read access #2
        for read access #3
            without waiting
        for write access #1
        for write access #2
        for write access #3
            without waiting
    obtaining object name
    process-shared
    thread priority
    under the thread-independent services (tis) interface
    unlocking
        for read access
        for write access
    using in thread-safe library code
    writer precedence
Realtime scheduling
    of POSIX Threads
        under Tru64 UNIX
Recursive mutexes
Reentrant code
    required for multithreaded programming
    required for thread-safe code
RERAISE macro #1
RERAISE macro #2
Round-robin (RR) scheduling policy
RTLD_LAZY symbol resolution
S
Scheduling parameters
    of threads
        obtaining
        setting
Scheduling parameters attribute
    of thread attributes object
        obtaining
        setting
Scheduling policy attribute
    of thread attributes object
        obtaining
        setting
Scheduling priority attribute, of thread attributes object
sched_get_priority_max() routine
sched_get_priority_min() routine
sched_yield() routine
Sequence numbers
    See Thread sequence numbers
Sharing memory
    between threads
Sharing memory, between threads
Signal masks (Tru64 UNIX)
    See Thread signal masks
Signals (Tru64 UNIX)
    per-thread usage
    synchronous
        reported as exceptions
sigwait() routine #1
sigwait() routine #2
Spurious wakeups
Stack address attribute
    of thread attributes object
        obtaining #1
        obtaining #2
        setting #1
        setting #2
Stack memory
Stack memory, using from threads
Stacks, of threads
    See Thread stacks
Stacksize attribute
    of thread attributes object
        obtaining
        setting
Static memory
    using before release of mutex
    using from threads
Status exceptions
$SYNC
Synchronization objects
    condition variables
    mutexes
    read-write locks
    stack-based
        static initialization inappropriate for
    static initialization of
Synchronizing I/O completion #1
Synchronizing I/O completion #2
Synchronous cancelation
    of threads
Synchronous thread cancelation
SYSGEN
    MULTITHREAD parameter
SYSGEN (OpenVMS)
    MULTITHREAD parameter
System contention scope #1
System contention scope #2
    of threads
System services, cancelability from POSIX Threads #1
System services, cancelability from POSIX Threads #2
T
THIS_CATCH exception object
Thread attributes objects
    cancelability state attribute
        setting #1
        setting #2
    cancelability type attribute
        setting
    contention scope attribute #1
    contention scope attribute #2
    contention scope attribute #3
    creating
    destroying
    detachstate attribute #1
    detachstate attribute #2
    guardsize attribute #1
    guardsize attribute #2
    guardsize attribute #3
    guardsize attribute #4
    inherit scheduling attribute #1
    inherit scheduling attribute #2
    inherit scheduling attribute #3
    initializing
    naming #1
    naming #2
    scheduling parameters #1
    scheduling parameters #2
    scheduling policy attribute #1
    scheduling policy attribute #2
    scheduling policy attribute #3
    scheduling priority attribute
    setting attributes in
    stack address attribute #1
    stack address attribute #2
    stack address attribute #3
    stack address attribute #4
    stack address attribute #5
    stacksize attribute #1
    stacksize attribute #2
    stacksize attribute #3
Thread-independent services (tis) interface #1
Thread-independent services (tis) interface #2
    condition variables
    features of
    mutexes
    of POSIX Threads
    performance of routines
    read-write locks
    run-time linkages to routines
    summary of routines
    thread-specific data
Thread objects
    naming #1
    naming #2
Thread objects, naming #1
Thread objects, naming #2
Thread-reentrant code
    See Reentrant code
Thread-safe code
    in libraries
    requires reentrant compilation
    using condition variables
    using mutexes
    using read-write locks
    using thread-specific data
Thread-safety
Thread sequence numbers, obtaining
Thread signal masks (Tru64 UNIX)
    obtaining
    setting
Thread-specific data
    keys
        creating #1
        creating #2
        destroying #1
        destroying #2
        naming #1
        naming #2
        obtaining #1
        obtaining #2
        setting #1
        setting #2
    under the thread-independent services (tis) interface
    using in thread-safe library code
Thread-specific data keys
    naming #1
    naming #2
Thread stacks
    default size of
        under OpenVMS
    diagnosing overflow
    identifying overflow of #1
    identifying overflow of #2
    incremental allocation
        under Tru64 UNIX
    managing
    minimum size of
        under OpenVMS
    requesting absolute size of
    setting the origin address
    size of
        determining
        requesting absolute
    tracing
    using a stack guard area #1
    using a stack guard area #2
        under Tru64 UNIX
    using a stack overflow warning area #1
    using a stack overflow warning area #2
THREADCP tool
THREADCP tool (OpenVMS)
Threads
    advantages of
    attributes of
    avoiding nonreentrant routines
    cancelability state
    cancelability type
    canceling #1
    canceling #2
        asynchronously
        code example
        control of
        delivery of cancelation request
        exception-based implementation
        PTHREAD_CANCELED return value
        synchronously
        whether enabled
    changes of state
    cleanup
        from asynchronous cancelation
        from deferred cancelation
    cleanup handlers #1
    cleanup handlers #2
    cleanup handlers #3
    concurrency level #1
    concurrency level #2
    contention scope
    context-switching
        in user mode
    creating #1
    creating #2
    deadlocks among
    delaying execution of
    delivering cancelation requests
    destroying #1
    destroying #2
    detaching #1
    detaching #2
    executing
    granularity considerations
    identifiers
        comparing
        obtaining #1
        obtaining #2
    joining with another thread #1
    joining with another thread #2
    locking mutexes #1
    locking mutexes #2
    on multiprocessor systems
    one-time initialization of #1
    one-time initialization of #2
    one-time initialization of #3
    overview of
    priority inversion among
    process contention scope
    process-shared synchronization objects
    race conditions among
    reentrant code for
    releasing processor #1
    releasing processor #2
    scheduling
        alternative policies
        alternative priorities
        calculating priority
        effects of scheduling policy
        inheriting attributes
        issues
        realtime (Tru64 UNIX)
    scheduling parameters
        obtaining
        setting
    See also Multithreaded programming
    sending signals to
    sequence numbers
        obtaining
    sharing memory
    signal masks for (Tru64 UNIX)
        obtaining
        setting
    synchronizing memory access
    system contention scope
    terminating #1
    terminating #2
        due to error
        normally
        series of actions #1
        series of actions #2
        via pthread_exit() routine
    thread-specific data
    time slicing
    unlocking mutexes #1
    unlocking mutexes #2
    unlocking POSIX Threads global mutex
    unlocking the POSIX Threads global mutex
    using a stack guard area
    using a stack overflow warning area
    using dynamic memory
    using stack memory
    using static memory
    waiting for another thread to terminate #1
    waiting for another thread to terminate #2
    waiting on mutexes
    wakeups for
        broadcasting #1
        broadcasting #2
        signaling #1
        signaling #2
        signaling #3
        signaling #4
    yielding processor to another thread #1
    yielding processor to another thread #2
    yielding to another thread
Throughput scheduling policy
Time, expiration, obtaining #1
Time, expiration, obtaining #2
Time slicing, of threads
tis interface
    See Thread-independent services (tis) interface
tis_cond_broadcast() routine
tis_cond_destroy() routine
tis_cond_init() routine
tis_cond_signal() routine
tis_cond_timedwait() routine
tis_cond_wait() routine
    using
tis_getspecific() routine
tis_get_expiration() routine
tis_io_complete() routine
tis_key_create() routine
tis_key_delete() routine
tis_lock_global() routine
    using
tis_mutex_destroy() routine
tis_mutex_init() routine
    using
tis_mutex_lock() routine
tis_mutex_trylock() routine
tis_mutex_unlock() routine
tis_once() routine
tis_read_lock() routine
    using
tis_read_trylock() routine
    using
tis_read_unlock() routine
tis_rwlock_destroy() routine
    using
tis_rwlock_init() routine
    using
tis_self() routine
tis_setcancelstate() routine
tis_setspecific() routine
tis_sync() routine
tis_testcancel() routine
    using
tis_unlock_global() routine
    using
tis_write_lock() routine
    using
tis_write_trylock() routine
    using
tis_write_unlock() routine
tis_yield() routine
Tru64 UNIX operating system, using POSIX Threads with
TRY macro
    restrictions
Two-level scheduling
    under OpenVMS Alpha
    under Tru64 UNIX


Previous Next Contents Index