diff options
-rw-r--r-- | ANNOUNCE | 43 | ||||
-rw-r--r-- | NEWS | 40 | ||||
-rw-r--r-- | pthread_cancel.c | 2 | ||||
-rw-r--r-- | pthread_detach.c | 2 | ||||
-rw-r--r-- | pthread_join.c | 2 |
5 files changed, 73 insertions, 16 deletions
@@ -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:
@@ -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); |