From 45bf44ba9acba066769bedf5657e13d7d66e152e Mon Sep 17 00:00:00 2001 From: rpj Date: Tue, 23 Nov 2004 01:06:18 +0000 Subject: '' --- ANNOUNCE | 43 +++++++++++++++++++++++++++++++------------ NEWS | 40 +++++++++++++++++++++++++++++++++++++++- pthread_cancel.c | 2 +- pthread_detach.c | 2 +- pthread_join.c | 2 +- 5 files changed, 73 insertions(+), 16 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index fac7318..778c95a 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -63,13 +63,11 @@ These are now documented in the BUGS file. Level of standards conformance ------------------------------ -The following POSIX 1003.1 2001 options are defined: +The following POSIX 1003.1 2001 options are defined and set to 200112L: _POSIX_THREADS _POSIX_THREAD_SAFE_FUNCTIONS _POSIX_THREAD_ATTR_STACKSIZE - _POSIX_SEM_VALUE_MAX - _POSIX_SEM_NSEMS_MAX _POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_SEMAPHORES _POSIX_READER_WRITER_LOCKS @@ -77,7 +75,7 @@ The following POSIX 1003.1 2001 options are defined: _POSIX_BARRIERS -The following POSIX 1003.1 2001 options are not defined: +The following POSIX 1003.1 2001 options are defined and set to -1: _POSIX_THREAD_ATTR_STACKADDR _POSIX_THREAD_PRIO_INHERIT @@ -85,6 +83,17 @@ The following POSIX 1003.1 2001 options are not defined: _POSIX_THREAD_PROCESS_SHARED +The following POSIX 1003.1 2001 options are defined and set: + + _POSIX_THREAD_THREADS_MAX + _POSIX_SEM_VALUE_MAX + _POSIX_SEM_NSEMS_MAX + PTHREAD_DESTRUCTOR_ITERATIONS + PTHREAD_KEYS_MAX + PTHREAD_STACK_MIN + PTHREAD_THREADS_MAX + + The following functions are implemented: --------------------------- @@ -249,18 +258,24 @@ The following functions are implemented: PTHREAD_MUTEX_ADAPTIVE_NP, PTHREAD_MUTEX_TIMED_NP) pthread_num_processors_np - pthread_win32_process_attach_np (Required when statically linking the library) - pthread_win32_process_detach_np (Required when statically linking the library) - pthread_win32_thread_attach_np (Required when statically linking the library) - pthread_win32_thread_detach_np (Required when statically linking the library) + pthread_win32_process_attach_np (Required when statically linking + the library) + pthread_win32_process_detach_np (Required when statically linking + the library) + pthread_win32_thread_attach_np (Required when statically linking + the library) + pthread_win32_thread_detach_np (Required when statically linking + the library) --------------------------- Static Initializers --------------------------- PTHREAD_ONCE_INIT PTHREAD_MUTEX_INITIALIZER - PTHREAD_RECURSIVE_MUTEX_INITIALIZER (also: PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) - PTHREAD_ERRORCHECK_MUTEX_INITIALIZER (also: PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP) + PTHREAD_RECURSIVE_MUTEX_INITIALIZER + PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP + PTHREAD_ERRORCHECK_MUTEX_INITIALIZER + PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP PTHREAD_COND_INITIALIZER PTHREAD_RWLOCK_INITIALIZER PTHREAD_SPINLOCK_INITIALIZER @@ -319,8 +334,12 @@ The following functions are not implemented: sigtimedwait sigwait sigwaitinfo - - + + --------------------------- + General + --------------------------- + sysconf + The library includes two non-API functions for creating cancellation points in applications and libraries: diff --git a/NEWS b/NEWS index 663141d..9533af8 100644 --- a/NEWS +++ b/NEWS @@ -12,7 +12,7 @@ Bug fixes * Condition variables no longer deadlock (bug introduced in snapshot-2004-11-03). -- +- Alexander Kotliarov and 'qybupt' * DLL naming extended to avoid 'DLL hell' in the future, and to accommodate the ABI change introduced in snapshot-2004-11-03. Snapshot @@ -46,6 +46,44 @@ sensitive to applications that assume that POSIX thread IDs are unique, i.e. are not strictly compliant with POSIX. See the PTW32_THREAD_ID_REUSE_INCREMENT macro comments in config.h for details. +Other changes +------------- +Certain POSIX macros have changed. + +These changes are intended to conform to the Single Unix Specification version 3, +which states that, if set to 0 (zero) or not defined, then applications may use +sysconf() to determine their values at runtime. Pthreads-win32 does not +implement sysconf(). + +The following macros are no longer undefined, but defined and set to -1 +(not implemented): + + _POSIX_THREAD_ATTR_STACKADDR + _POSIX_THREAD_PRIO_INHERIT + _POSIX_THREAD_PRIO_PROTECT + _POSIX_THREAD_PROCESS_SHARED + +The following macros are defined and set to 200112L (implemented): + + _POSIX_THREADS + _POSIX_THREAD_SAFE_FUNCTIONS + _POSIX_THREAD_ATTR_STACKSIZE + _POSIX_THREAD_PRIORITY_SCHEDULING + _POSIX_SEMAPHORES + _POSIX_READER_WRITER_LOCKS + _POSIX_SPIN_LOCKS + _POSIX_BARRIERS + +The following macros are defined and set to appropriate values: + + _POSIX_THREAD_THREADS_MAX + _POSIX_SEM_VALUE_MAX + _POSIX_SEM_NSEMS_MAX + PTHREAD_DESTRUCTOR_ITERATIONS + PTHREAD_KEYS_MAX + PTHREAD_STACK_MIN + PTHREAD_THREADS_MAX + SNAPSHOT 2004-11-03 ------------------- diff --git a/pthread_cancel.c b/pthread_cancel.c index e4afca3..7b6dbcb 100644 --- a/pthread_cancel.c +++ b/pthread_cancel.c @@ -123,8 +123,8 @@ pthread_cancel (pthread_t thread) pthread_t self; ptw32_thread_t * tp; - /* This is the proper way to test thread validity. */ result = pthread_kill (thread, 0); + if (0 != result) { return result; diff --git a/pthread_detach.c b/pthread_detach.c index 147c506..93903a7 100644 --- a/pthread_detach.c +++ b/pthread_detach.c @@ -77,8 +77,8 @@ pthread_detach (pthread_t thread) int result; ptw32_thread_t * tp = (ptw32_thread_t *) thread.p; - /* This is the proper way to test for a valid thread. */ result = pthread_kill (thread, 0); + if (0 != result) { return result; diff --git a/pthread_join.c b/pthread_join.c index 603b89b..a6dc550 100644 --- a/pthread_join.c +++ b/pthread_join.c @@ -126,7 +126,7 @@ pthread_join (pthread_t thread, void **value_ptr) * thread struct). This option is similar to including a reuse counter with * the thread id but maintains the thread id as a simple pointer. * - * As at 27/08/2004, none of the above have been implemented. + * As at 03/11/2004, the reuse count option has been implemented. */ EnterCriticalSection (&ptw32_thread_reuse_lock); -- cgit v1.2.3