diff options
author | rpj <rpj> | 2002-02-18 07:23:20 +0000 |
---|---|---|
committer | rpj <rpj> | 2002-02-18 07:23:20 +0000 |
commit | 903c6f8b3cf2bae097dfbaf23c2ebea41ec8c8e7 (patch) | |
tree | 712530040e2db59cbd7aa864f847a60b93a0588c | |
parent | a416ab17ecf9f2cb0f1e3f7bd645a8d1ce690ca2 (diff) |
Update to reflect recent changes.
-rw-r--r-- | ANNOUNCE | 41 | ||||
-rw-r--r-- | README.NONPORTABLE | 33 |
2 files changed, 65 insertions, 9 deletions
@@ -7,14 +7,14 @@ We are pleased to announce the availability of a new snapshot of Pthreads-win32, an Open Source Software implementation of the -Threads component of the POSIX 1003.1c 1995 Standard for Microsoft's -Win32 environment. Some functions from POSIX 1003.1b are also -supported including semaphores. Other related functions include -the set of read-write lock functions. +Threads component of the POSIX 1003.1 2001 Standard for Microsoft's +Win32 environment. Some functions from other sections of POSIX +1003.1 2001 are also supported including semaphores and scheduling +functions. -Parts of the implementation also comply with the Open Group's -Single Unix specification for compatibility with major Unix -implementations and Linux. +Some common non-portable functions are also implemented for +additional compatibility, as are a few functions specific +to pthreads-win32 for easier integration with Win32 applications. Pthreads-win32 is free software, distributed under the GNU Lesser General Public License (LGPL). @@ -120,6 +120,7 @@ There are a few reasons: wants it, once it's removed from the current version it will not be nearly as visible to people who may have a use for it. + Source module splitting ----------------------- In order to enable smaller image sizes to be generated @@ -148,12 +149,14 @@ I don't know what havoc this reorganisation may wreak amongst IDE project file users. You should be able to continue using your existing project files without modification. + New non-portable function ------------------------- pthread_num_processors_np(): Returns the number of processors in the system that are available to the process, as determined from the processor affinity mask. + Platform dependence ------------------- As Win95 doesn't provide one, the library now contains @@ -165,18 +168,36 @@ is not available on i386 CPUs. This library (from snapshot 20010712 onwards) is therefore no longer supported on i386 processor platforms. -New routines ------------- + +New standard routines +--------------------- For source code portability only - rwlocks cannot be process shared yet. + pthread_rwlockattr_init() pthread_rwlockattr_destroy() pthread_rwlockattr_setpshared() pthread_rwlockattr_getpshared() As defined in the new POSIX standard, and the Single Unix Spec version 3: + sem_timedwait() pthread_mutex_timedlock() + +New non-portable routine +------------------------ +To improve tolerance against operator or time service initiated +system clock changes, the following routine is provided: + + pthread_timechange_handler_np() + +This routine can be called by an application when it +receives a WM_TIMECHANGE message from the system. At present +it broadcasts all condition variables so that waiting threads +can wake up and re-evaluate their conditions and restart +their timed waits if required. +- Suggested by Alexander Terekhov + pthread.h no longer includes windows.h -------------------------------------- [Not yet for G++] @@ -186,6 +207,7 @@ This was done to prevent conflicts. HANDLE, DWORD, and NULL are temporarily defined within pthread.h if they are not already. + Bug fixes --------- * Fixed potential NULL pointer dereferences in pthread_mutexattr_init, @@ -509,6 +531,7 @@ The following functions are implemented: Non-portable routines (see the README.NONPORTABLE file for usage) --------------------------- pthread_getw32threadhandle_np + pthread_timechange_handler_np pthread_delay_np pthread_mutexattr_getkind_np pthread_mutexattr_setkind_np (types: PTHREAD_MUTEX_FAST_NP, diff --git a/README.NONPORTABLE b/README.NONPORTABLE index b6e6768..c2bbc18 100644 --- a/README.NONPORTABLE +++ b/README.NONPORTABLE @@ -1,6 +1,39 @@ Non-portable functions included in pthreads-win32 ------------------------------------------------- +void * +pthread_timechange_handler_np(void *) + + To improve tolerance against operator or time service + initiated system clock changes. + + This routine can be called by an application when it + receives a WM_TIMECHANGE message from the system. At + present it broadcasts all condition variables so that + waiting threads can wake up and re-evaluate their + conditions and restart their timed waits if required. + + It has the same return type and argument type as a + thread routine so that it may be called directly + through pthread_create() for asynchronicity. + + Parameters + + Although a parameter must be supplied, it is ignored. + The value NULL can be used. + + Return values + + It can return an error EAGAIN to indicate that not + all condition variables were broadcast for some reason. + Otherwise, 0 is returned. + + If run as a thread, the return value is returned + through pthread_join(), otherwise directly. + + The return value should be cast to an integer. + + HANDLE pthread_getw32threadhandle_np(pthread_t thread); |