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); | 
