Document revision date: 30 March 2001

## 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

| privacy and legal statement |
6101PRO_CONTENTS_001.HTML