HP OpenVMS Systems Documentation

Content starts here

Guide to the POSIX Threads Library


Previous Contents Index

Chapter 4
4 Writing Thread-Safe Libraries
     4.1     Features of the tis Interface
         4.1.1         Reentrant Code Required
         4.1.2         Performance of tis Interface Routines
         4.1.3         Run-Time Linkage of tis Interface Routines
         4.1.4         Cancelation Points
     4.2     Using Mutexes
     4.3     Using Condition Variables
     4.4     Using Thread-Specific Data
     4.5     Using Read-Write Locks
Chapter 5
5 Using the Exceptions Package
     5.1     About the Exceptions Package
         5.1.1         Supported Programming Languages
         5.1.2         Relation of Exceptions to Return Codes and Signals
     5.2     Why Use Exceptions
     5.3     Exception Programming
         5.3.1         Declaring and Initializing an Exception
         5.3.2         Raising an Exception
         5.3.3         Catching an Exception
         5.3.4         Reraising an Exception
         5.3.5         Expressing Epilogue Actions
     5.4     Exception Objects
         5.4.1         Declaring and Initializing Exception Objects
         5.4.2         Address Exceptions and Status Exceptions
         5.4.3         How Exceptions Terminate
     5.5     Exception Scopes
     5.6     Raising Exceptions
     5.7     Exception Handling Macros
         5.7.1         Context of the Handler
         5.7.2         Handlers and Macros
         5.7.3         Catching Specific Exceptions
         5.7.4         Catching Unspecified Exceptions
         5.7.5         Reraising the Current Exception
         5.7.6         Defining Epilogue Actions
     5.8     Operations on Exceptions
         5.8.1         Referencing the Caught Exception
         5.8.2         Setting a System-Defined Error Status
         5.8.3         Obtaining a System-Defined Error Status
         5.8.4         Reporting a Caught Exception
         5.8.5         Determining Whether Two Exceptions Match
     5.9     Using Exceptions
         5.9.1         Develop Naming Conventions for Exceptions
         5.9.2         Enclose Appropriate Actions in an Exception Scope
         5.9.3         Raise Exceptions Prior to Performing Side-Effects
         5.9.4         Exiting an Exception Scope
         5.9.5         Declare Variables Within Handler Code as Volatile
         5.9.6         Reraise Caught Exceptions That Are Not Fully Handled
         5.9.7         Avoid Dynamically Allocated Exception Objects
     5.10     Exceptions Defined by the POSIX Threads Library
     5.11     Interoperability of Language-Specific Exceptions
     5.12     Host Operating System Dependencies
         5.12.1         Tru64 UNIX Dependencies
         5.12.2         OpenVMS Conditions and Exceptions
Chapter 6
6 Examples
     6.1     Prime Number Search Example
     6.2     Asynchronous User Interface Example
Part 2
Part 2 POSIX.1 (pthread) Routines Reference
    Command 1     pthread_atfork
    Command 2     pthread_attr_destroy
    Command 3     pthread_attr_getdetachstate
    Command 4     pthread_attr_getguardsize
    Command 5     pthread_attr_getinheritsched
    Command 6     pthread_attr_getname_np
    Command 7     pthread_attr_getschedparam
    Command 8     pthread_attr_getschedpolicy
    Command 9     pthread_attr_getscope
    Command 10     pthread_attr_getstackaddr
    Command 11     pthread_attr_getstackaddr_np
    Command 12     pthread_attr_getstacksize
    Command 13     pthread_attr_init
    Command 14     pthread_attr_setdetachstate
    Command 15     pthread_attr_setguardsize
    Command 16     pthread_attr_setinheritsched
    Command 17     pthread_attr_setname_np
    Command 18     pthread_attr_setschedparam
    Command 19     pthread_attr_setschedpolicy
    Command 20     pthread_attr_setscope
    Command 21     pthread_attr_setstackaddr
    Command 22     pthread_attr_setstackaddr_np
    Command 23     pthread_attr_setstacksize
    Command 24     pthread_cancel
    Command 25     pthread_cleanup_pop
    Command 26     pthread_cleanup_push
    Command 27     pthread_condattr_destroy
    Command 28     pthread_condattr_getpshared
    Command 29     pthread_condattr_init
    Command 30     pthread_condattr_setpshared
    Command 31     pthread_cond_broadcast
    Command 32     pthread_cond_destroy
    Command 33     pthread_cond_getname_np
    Command 34     pthread_cond_init
    Command 35     pthread_cond_setname_np
    Command 36     pthread_cond_signal
    Command 37     pthread_cond_signal_int_np
    Command 38     pthread_cond_sig_preempt_int_np
    Command 39     pthread_cond_timedwait
    Command 40     pthread_cond_wait
    Command 41     pthread_create
    Command 42     pthread_delay_np
    Command 43     pthread_detach
    Command 44     pthread_equal
    Command 45     pthread_exc_get_status_np
    Command 46     pthread_exc_matches_np
    Command 47     pthread_exc_report_np
    Command 48     pthread_exc_set_status_np
    Command 49     pthread_exit
    Command 50     pthread_getconcurrency
    Command 51     pthread_getname_np
    Command 52     pthread_getschedparam
    Command 53     pthread_getsequence_np
    Command 54     pthread_getspecific
    Command 55     pthread_get_expiration_np
    Command 56     pthread_join
    Command 57     pthread_key_create
    Command 58     pthread_key_delete
    Command 59     pthread_key_getname_np
    Command 60     pthread_key_setname_np
    Command 61     pthread_kill
    Command 62     pthread_lock_global_np
    Command 63     pthread_mutexattr_destroy
    Command 64     pthread_mutexattr_getpshared
    Command 65     pthread_mutexattr_gettype
    Command 66     pthread_mutexattr_init
    Command 67     pthread_mutexattr_setpshared
    Command 68     pthread_mutexattr_settype
    Command 69     pthread_mutex_destroy
    Command 70     pthread_mutex_getname_np
    Command 71     pthread_mutex_init
    Command 72     pthread_mutex_lock
    Command 73     pthread_mutex_setname_np
    Command 74     pthread_mutex_trylock
    Command 75     pthread_mutex_unlock
    Command 76     pthread_once
    Command 77     pthread_rwlockattr_destroy
    Command 78     pthread_rwlockattr_getpshared
    Command 79     pthread_rwlockattr_init
    Command 80     pthread_rwlockattr_setpshared
    Command 81     pthread_rwlock_destroy
    Command 82     pthread_rwlock_getname_np
    Command 83     pthread_rwlock_init
    Command 84     pthread_rwlock_rdlock
    Command 85     pthread_rwlock_setname_np
    Command 86     pthread_rwlock_tryrdlock
    Command 87     pthread_rwlock_trywrlock
    Command 88     pthread_rwlock_unlock
    Command 89     pthread_rwlock_wrlock
    Command 90     pthread_self
    Command 91     pthread_setcancelstate
    Command 92     pthread_setcanceltype
    Command 93     pthread_setconcurrency
    Command 94     pthread_setname_np
    Command 95     pthread_setschedparam
    Command 96     pthread_setspecific
    Command 97     pthread_sigmask
    Command 98     pthread_testcancel
    Command 99     pthread_unlock_global_np
    Command 100     pthread_yield_np
    Command 101     sched_get_priority_max
    Command 102     sched_get_priority_min
    Command 103     sched_yield
    Command 104     sigwait


Previous Next Contents Index