The following routines have changes to their argument syntax with the new DECthreads implementation:
Old Syntax New Syntax unsigned long pthread_attr_ int pthread_attr_getguardsize_np getguardsize_np(pthread_attr_t attr) (const pthread_attr_t *attr, size_t*guardsize) int pthread_attr_getinheritsched int pthread_attr_getinheritsched (pthread_attr_t attr) (const pthread_attr_t *attr, int *inheritsched) unsigned long pthread_attr_ int pthread_attr_getstacksize getstacksize(pthread_attr_t attr (const pthread_attr_t *attr, size_t *stacksize) unsigned long pthread_attr_ int pthread_attr_setguardsize_np setguardsize_np(pthread_ (pthread_attr_t *attr, size_t guardsize) attr_t *attr, long guardsize) unsigned long pthread_attr_ int pthread_attr_setstacksize( setstacksize(pthread_attr_t *attr, const pthread_attr_t *attr, long stacksize) size_t stacksize) int pthread_cleanup_pop( void pthread_cleanup_pop( int execute) int execute) int pthread_cond_init( int pthread_cond_init( pthread_cond_t *cond, pthread_cond_t *cond, pthread_ pthread_condattr_t attr) condattr_t *attr) int pthread_create( int pthread_create( pthread_t *thread, pthread_t *thread, const pthread_attr_t attr, pthread_ pthread_attr_t *attr, void* startroutine_t start_routine, (*start_routine)(void*), void *arg) pthread_addr_t arg) int pthread_detach( int pthread_detach( pthread_t *thread) pthread_t thread) int pthread_getspecific( void *pthread_getspecific( pthread_key_t key, void pthread_key_t key) **value) void pthread_lock_global_np() int pthread_lock_global_np(void) void pthread_unlock_global_np() int pthread_unlock_global_np(void)np() int pthread_mutex_init( int pthread_mutex_init( pthread_mutex_t *mutex, pthread_mutex_t *mutex, const pthread_mutexattr_t attr) pthread_mutexattr_t *attr)
The following routines no longer support previous nonstandard DECthreads datatypes that were documented in the previous release. If your original code used the standard (real) datatypes, then this list may not impact your code.
New Standard Datatype Syntax Nonstandard Datatype Syntax void pthread_cleanup_push( int pthread_cleanup_push( void (*routine)(void *), pthread_cleanup_t *routine, void *arg) pthread_addr_t arg) int pthread_create( int pthread_create( pthread_t *thread, const pthread_t *thread, pthread_ pthread_attr_t *attr, void attr_t attr, pthread_startroutine_t *(*start_routine)(void *), void start_routine, pthread_addr_t arg) *arg) int pthread_exit( int pthread_exit( void *value_ptr) pthread_addr_t status) void *pthread_getspecific( int pthread_getspecific( pthread_key_t key, pthread_ pthread_key_t key) addr_t *value) int pthread_join( int pthread_join( pthread_t thread, void pthread_t thread, pthread_addr_ **value_ptr) t *status) int pthread_once( int pthread_once( pthread_once_t *once_ pthread_once_t *once_block, control, void (*init_ pthread_initroutine_t init_routine) routine)(void)) int pthread_setspecific( int pthread_setspecific( pthread_key_t key, const pthread_key_t key, pthread_ void *value) addr_t value)