diff options
Diffstat (limited to 'ANNOUNCE')
| -rw-r--r-- | ANNOUNCE | 930 | 
1 files changed, 465 insertions, 465 deletions
| @@ -1,465 +1,465 @@ -	     PTHREADS-WIN32 RELEASE 2.3.0 (2005-04-12)
 -	     -----------------------------------------
 -	 Web Site: http://sources.redhat.com/pthreads-win32/
 -	FTP Site: ftp://sources.redhat.com/pub/pthreads-win32
 -	 Maintainer: Ross Johnson <rpj@callisto.canberra.edu.au>
 -
 -
 -We are pleased to announce the availability of a new release of
 -Pthreads-win32, an Open Source Software implementation of the
 -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.
 -
 -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).
 -
 -
 -Acknowledgements
 -----------------
 -This library is based originally on a Win32 pthreads
 -implementation contributed by John Bossom <John.Bossom@cognos.com>.
 -
 -The implementation of Condition Variables uses algorithms developed
 -by Alexander Terekhov and Louis Thomas.
 -
 -The implementation of POSIX mutexes has been improved by Thomas Pfaff
 -and later by Alexander Terekhov.
 -
 -The implementation of Spinlocks and Barriers was contributed
 -by Ross Johnson.
 -
 -The implementation of read/write locks was contributed by
 -Aurelio Medina and improved by Alexander Terekhov.
 -
 -Many others have contributed significant time and effort to solve crutial
 -problems in order to make the library workable, robust and reliable.
 -
 -There is also a separate CONTRIBUTORS file. This file and others are
 -on the web site:
 -
 -	http://sources.redhat.com/pthreads-win32
 -
 -As much as possible, the ChangeLog file acknowledges contributions to the
 -code base in more detail.
 -
 -
 -Changes since the last release
 -------------------------------
 -These are now documented in the NEWS file.
 -See the ChangeLog file also.
 -
 -
 -Known Bugs
 -----------
 -These are now documented in the BUGS file.
 -
 -
 -Level of standards conformance
 -------------------------------
 -
 -The following POSIX 1003.1 2001 options are defined and set to 200112L:
 -
 -      _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 POSIX 1003.1 2001 options are defined and set to -1:
 -
 -      _POSIX_THREAD_ATTR_STACKADDR
 -      _POSIX_THREAD_PRIO_INHERIT
 -      _POSIX_THREAD_PRIO_PROTECT
 -      _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:
 -
 -      ---------------------------
 -      PThreads
 -      ---------------------------
 -      pthread_attr_init
 -      pthread_attr_destroy
 -      pthread_attr_getdetachstate
 -      pthread_attr_getstackaddr
 -      pthread_attr_getstacksize
 -      pthread_attr_setdetachstate
 -      pthread_attr_setstackaddr
 -      pthread_attr_setstacksize
 -
 -      pthread_create
 -      pthread_detach
 -      pthread_equal
 -      pthread_exit
 -      pthread_join
 -      pthread_once
 -      pthread_self
 -
 -      pthread_cancel
 -      pthread_cleanup_pop
 -      pthread_cleanup_push
 -      pthread_setcancelstate
 -      pthread_setcanceltype
 -      pthread_testcancel
 -
 -      ---------------------------
 -      Thread Specific Data
 -      ---------------------------
 -      pthread_key_create
 -      pthread_key_delete
 -      pthread_setspecific
 -      pthread_getspecific
 -
 -      ---------------------------
 -      Mutexes
 -      ---------------------------
 -      pthread_mutexattr_init
 -      pthread_mutexattr_destroy
 -      pthread_mutexattr_getpshared
 -      pthread_mutexattr_setpshared
 -      pthread_mutexattr_gettype
 -      pthread_mutexattr_settype (types: PTHREAD_MUTEX_DEFAULT
 -					PTHREAD_MUTEX_NORMAL
 -					PTHREAD_MUTEX_ERRORCHECK
 -					PTHREAD_MUTEX_RECURSIVE  )
 -      pthread_mutex_init
 -      pthread_mutex_destroy
 -      pthread_mutex_lock
 -      pthread_mutex_trylock
 -      pthread_mutex_timedlock
 -      pthread_mutex_unlock
 -
 -      ---------------------------
 -      Condition Variables
 -      ---------------------------
 -      pthread_condattr_init
 -      pthread_condattr_destroy
 -      pthread_condattr_getpshared
 -      pthread_condattr_setpshared
 -
 -      pthread_cond_init
 -      pthread_cond_destroy
 -      pthread_cond_wait
 -      pthread_cond_timedwait
 -      pthread_cond_signal
 -      pthread_cond_broadcast
 -
 -      ---------------------------
 -      Read/Write Locks
 -      ---------------------------
 -      pthread_rwlock_init
 -      pthread_rwlock_destroy
 -      pthread_rwlock_tryrdlock
 -      pthread_rwlock_trywrlock
 -      pthread_rwlock_rdlock
 -      pthread_rwlock_timedrdlock
 -      pthread_rwlock_rwlock
 -      pthread_rwlock_timedwrlock
 -      pthread_rwlock_unlock
 -      pthread_rwlockattr_init
 -      pthread_rwlockattr_destroy
 -      pthread_rwlockattr_getpshared
 -      pthread_rwlockattr_setpshared
 -
 -      ---------------------------
 -      Spin Locks
 -      ---------------------------
 -      pthread_spin_init
 -      pthread_spin_destroy
 -      pthread_spin_lock
 -      pthread_spin_unlock
 -      pthread_spin_trylock
 -
 -      ---------------------------
 -      Barriers
 -      ---------------------------
 -      pthread_barrier_init
 -      pthread_barrier_destroy
 -      pthread_barrier_wait
 -      pthread_barrierattr_init
 -      pthread_barrierattr_destroy
 -      pthread_barrierattr_getpshared
 -      pthread_barrierattr_setpshared
 -
 -      ---------------------------
 -      Semaphores
 -      ---------------------------
 -      sem_init
 -      sem_destroy
 -      sem_post
 -      sem_wait
 -      sem_trywait
 -      sem_timedwait
 -      sem_open		     (returns an error ENOSYS)
 -      sem_close 	     (returns an error ENOSYS)
 -      sem_unlink	     (returns an error ENOSYS)
 -      sem_getvalue	     (returns an error ENOSYS)
 -
 -      ---------------------------
 -      RealTime Scheduling
 -      ---------------------------
 -      pthread_attr_getschedparam
 -      pthread_attr_setschedparam
 -      pthread_attr_getinheritsched
 -      pthread_attr_setinheritsched
 -      pthread_attr_getschedpolicy (only supports SCHED_OTHER)
 -      pthread_attr_setschedpolicy (only supports SCHED_OTHER)
 -      pthread_getschedparam
 -      pthread_setschedparam
 -      pthread_getconcurrency
 -      pthread_setconcurrency
 -      pthread_attr_getscope
 -      pthread_attr_setscope  (only supports PTHREAD_SCOPE_SYSTEM)
 -      sched_get_priority_max
 -      sched_get_priority_min
 -      sched_rr_get_interval  (returns an error ENOTSUP)
 -      sched_setscheduler     (only supports SCHED_OTHER)
 -      sched_getscheduler     (only supports SCHED_OTHER)
 -      sched_yield
 -
 -      ---------------------------
 -      Signals
 -      ---------------------------
 -      pthread_sigmask
 -      pthread_kill           (only supports zero sig value,
 -                              for thread validity checking)
 -
 -      ---------------------------
 -      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,
 -						PTHREAD_MUTEX_ERRORCHECK_NP,
 -						PTHREAD_MUTEX_RECURSIVE_NP,
 -						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)
 -
 -      ---------------------------
 -      Static Initializers
 -      ---------------------------
 -      PTHREAD_ONCE_INIT
 -      PTHREAD_MUTEX_INITIALIZER
 -      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
 -
 -      ---------------------------
 -      Thread-Safe C Runtime Library (macros)
 -      ---------------------------
 -      strtok_r
 -      asctime_r
 -      ctime_r
 -      gmtime_r
 -      localtime_r
 -      rand_r
 -
 -
 -The following functions are not implemented:
 -      
 -      ---------------------------
 -      RealTime Scheduling
 -      ---------------------------
 -      pthread_mutex_getprioceiling
 -      pthread_mutex_setprioceiling
 -      pthread_mutex_attr_getprioceiling
 -      pthread_mutex_attr_getprotocol
 -      pthread_mutex_attr_setprioceiling
 -      pthread_mutex_attr_setprotocol
 -
 -      ---------------------------
 -      Fork Handlers
 -      ---------------------------
 -      pthread_atfork
 -
 -      ---------------------------
 -      Stdio
 -      --------------------------- 
 -      flockfile
 -      ftrylockfile
 -      funlockfile
 -      getc_unlocked
 -      getchar_unlocked	
 -      putc_unlocked
 -      putchar_unlocked
 -
 -      ---------------------------
 -      Thread-Safe C Runtime Library
 -      ---------------------------
 -      readdir_r
 -      getgrgid_r
 -      getgrnam_r
 -      getpwuid_r
 -      getpwnam_r
 -      
 -      ---------------------------
 -      Signals
 -      ---------------------------
 -      sigtimedwait
 -      sigwait
 -      sigwaitinfo
 -
 -      ---------------------------
 -      General
 -      ---------------------------
 -      sysconf      
 -
 -The library includes two non-API functions for creating cancellation
 -points in applications and libraries:
 -      
 -      pthreadCancelableWait
 -      pthreadCancelableTimedWait
 -
 -      
 -Availability
 ------------- 
 -
 -The prebuilt DLL, export libs (for both MSVC and Mingw32), and the header
 -files (pthread.h, semaphore.h, sched.h) are available along with the
 -complete source code.
 -
 -The source code can be found at:
 -
 -	ftp://sources.redhat.com/pub/pthreads-win32
 -
 -and as individual source code files at
 -
 -	ftp://sources.redhat.com/pub/pthreads-win32/source
 -
 -The pre-built DLL, export libraries and include files can be found at:
 -
 -	ftp://sources.redhat.com/pub/pthreads-win32/dll-latest
 -
 -
 -      
 -Mailing List 
 -------------  
 -      
 -There is a mailing list for discussing pthreads on Win32. To join,
 -send email to:
 -
 -	pthreads-win32-subscribe@sourceware.cygnus.com
 -      
 -
 -Application Development Environments
 -------------------------------------
 -
 -See the README file for more information.
 -      
 -MSVC:
 -MSVC using SEH works. Distribute pthreadVSE.dll with your application.
 -MSVC using C++ EH works. Distribute pthreadVCE.dll with your application.
 -MSVC using C setjmp/longjmp works. Distribute pthreadVC.dll with your application.
 -
 -
 -Mingw32:
 -See the FAQ, Questions 6 and 10.
 -
 -Mingw using C++ EH works. Distribute pthreadGCE.dll with your application.
 -Mingw using C setjmp/longjmp works. Distribute pthreadGC.dll with your application.
 -
 -
 -Cygwin: (http://sourceware.cygnus.com/cygwin/)
 -Developers using Cygwin will not need pthreads-win32 since it has POSIX threads
 -support. Refer to its documentation for details and extent.
 -
 -
 -UWIN:
 -UWIN is a complete Unix-like environment for Windows from AT&T. Pthreads-win32
 -doesn't currently support UWIN (and vice versa), but that may change in the
 -future.
 -
 -Generally:
 -For convenience, the following pre-built files are available on the FTP site
 -(see Availability above):
 -
 -	pthread.h	- for POSIX 1c threads
 -	semaphore.h	- for POSIX 1b semaphores
 -	sched.h 	- for POSIX 1b scheduling
 -	pthreadVCE.dll	- built with MSVC++ compiler using C++ EH
 -	pthreadVCE.lib
 -	pthreadVC.dll	- built with MSVC compiler using C setjmp/longjmp
 -	pthreadVC.lib
 -	pthreadVSE.dll	- built with MSVC compiler using SEH
 -	pthreadVSE.lib
 -	pthreadGCE.dll	- built with Mingw32 G++ 2.95.2-1
 -	pthreadGC.dll	- built with Mingw32 GCC 2.95.2-1 using setjmp/longjmp
 -	libpthreadGCE.a - derived from pthreadGCE.dll
 -	libpthreadGC.a	- derived from pthreadGC.dll
 -	gcc.dll 	- needed if distributing applications that use
 -			  pthreadGCE.dll (but see the FAQ Q 10 for the latest
 -			  related information)
 -
 -These are the only files you need in order to build POSIX threads
 -applications for Win32 using either MSVC or Mingw32.
 -
 -See the FAQ file in the source tree for additional information.
 -
 -
 -Documentation
 --------------
 -
 -For the authoritative reference, see the online POSIX
 -standard reference at:
 -
 -       http://www.OpenGroup.org
 -
 -For POSIX Thread API programming, several reference books are
 -available:
 -
 -       Programming with POSIX Threads
 -       David R. Butenhof
 -       Addison-Wesley (pub)
 -
 -       Pthreads Programming
 -       By Bradford Nichols, Dick Buttlar & Jacqueline Proulx Farrell
 -       O'Reilly (pub)
 -
 -On the web: see the links at the bottom of the pthreads-win32 site:
 -
 -       http://sources.redhat.com/pthreads-win32/
 -
 -       Currently, there is no documentation included in the package apart
 -       from the copious comments in the source code.
 -
 -
 -
 -Enjoy!
 -
 -Ross Johnson
 +	     PTHREADS-WIN32 RELEASE 2.3.0 (2005-04-12) +	     ----------------------------------------- +	 Web Site: http://sources.redhat.com/pthreads-win32/ +	FTP Site: ftp://sources.redhat.com/pub/pthreads-win32 +	 Maintainer: Ross Johnson <rpj@callisto.canberra.edu.au> + + +We are pleased to announce the availability of a new release of +Pthreads-win32, an Open Source Software implementation of the +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. + +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). + + +Acknowledgements +---------------- +This library is based originally on a Win32 pthreads +implementation contributed by John Bossom <John.Bossom@cognos.com>. + +The implementation of Condition Variables uses algorithms developed +by Alexander Terekhov and Louis Thomas. + +The implementation of POSIX mutexes has been improved by Thomas Pfaff +and later by Alexander Terekhov. + +The implementation of Spinlocks and Barriers was contributed +by Ross Johnson. + +The implementation of read/write locks was contributed by +Aurelio Medina and improved by Alexander Terekhov. + +Many others have contributed significant time and effort to solve crutial +problems in order to make the library workable, robust and reliable. + +There is also a separate CONTRIBUTORS file. This file and others are +on the web site: + +	http://sources.redhat.com/pthreads-win32 + +As much as possible, the ChangeLog file acknowledges contributions to the +code base in more detail. + + +Changes since the last release +------------------------------ +These are now documented in the NEWS file. +See the ChangeLog file also. + + +Known Bugs +---------- +These are now documented in the BUGS file. + + +Level of standards conformance +------------------------------ + +The following POSIX 1003.1 2001 options are defined and set to 200112L: + +      _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 POSIX 1003.1 2001 options are defined and set to -1: + +      _POSIX_THREAD_ATTR_STACKADDR +      _POSIX_THREAD_PRIO_INHERIT +      _POSIX_THREAD_PRIO_PROTECT +      _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: + +      --------------------------- +      PThreads +      --------------------------- +      pthread_attr_init +      pthread_attr_destroy +      pthread_attr_getdetachstate +      pthread_attr_getstackaddr +      pthread_attr_getstacksize +      pthread_attr_setdetachstate +      pthread_attr_setstackaddr +      pthread_attr_setstacksize + +      pthread_create +      pthread_detach +      pthread_equal +      pthread_exit +      pthread_join +      pthread_once +      pthread_self + +      pthread_cancel +      pthread_cleanup_pop +      pthread_cleanup_push +      pthread_setcancelstate +      pthread_setcanceltype +      pthread_testcancel + +      --------------------------- +      Thread Specific Data +      --------------------------- +      pthread_key_create +      pthread_key_delete +      pthread_setspecific +      pthread_getspecific + +      --------------------------- +      Mutexes +      --------------------------- +      pthread_mutexattr_init +      pthread_mutexattr_destroy +      pthread_mutexattr_getpshared +      pthread_mutexattr_setpshared +      pthread_mutexattr_gettype +      pthread_mutexattr_settype (types: PTHREAD_MUTEX_DEFAULT +					PTHREAD_MUTEX_NORMAL +					PTHREAD_MUTEX_ERRORCHECK +					PTHREAD_MUTEX_RECURSIVE  ) +      pthread_mutex_init +      pthread_mutex_destroy +      pthread_mutex_lock +      pthread_mutex_trylock +      pthread_mutex_timedlock +      pthread_mutex_unlock + +      --------------------------- +      Condition Variables +      --------------------------- +      pthread_condattr_init +      pthread_condattr_destroy +      pthread_condattr_getpshared +      pthread_condattr_setpshared + +      pthread_cond_init +      pthread_cond_destroy +      pthread_cond_wait +      pthread_cond_timedwait +      pthread_cond_signal +      pthread_cond_broadcast + +      --------------------------- +      Read/Write Locks +      --------------------------- +      pthread_rwlock_init +      pthread_rwlock_destroy +      pthread_rwlock_tryrdlock +      pthread_rwlock_trywrlock +      pthread_rwlock_rdlock +      pthread_rwlock_timedrdlock +      pthread_rwlock_rwlock +      pthread_rwlock_timedwrlock +      pthread_rwlock_unlock +      pthread_rwlockattr_init +      pthread_rwlockattr_destroy +      pthread_rwlockattr_getpshared +      pthread_rwlockattr_setpshared + +      --------------------------- +      Spin Locks +      --------------------------- +      pthread_spin_init +      pthread_spin_destroy +      pthread_spin_lock +      pthread_spin_unlock +      pthread_spin_trylock + +      --------------------------- +      Barriers +      --------------------------- +      pthread_barrier_init +      pthread_barrier_destroy +      pthread_barrier_wait +      pthread_barrierattr_init +      pthread_barrierattr_destroy +      pthread_barrierattr_getpshared +      pthread_barrierattr_setpshared + +      --------------------------- +      Semaphores +      --------------------------- +      sem_init +      sem_destroy +      sem_post +      sem_wait +      sem_trywait +      sem_timedwait +      sem_open		     (returns an error ENOSYS) +      sem_close 	     (returns an error ENOSYS) +      sem_unlink	     (returns an error ENOSYS) +      sem_getvalue	     (returns an error ENOSYS) + +      --------------------------- +      RealTime Scheduling +      --------------------------- +      pthread_attr_getschedparam +      pthread_attr_setschedparam +      pthread_attr_getinheritsched +      pthread_attr_setinheritsched +      pthread_attr_getschedpolicy (only supports SCHED_OTHER) +      pthread_attr_setschedpolicy (only supports SCHED_OTHER) +      pthread_getschedparam +      pthread_setschedparam +      pthread_getconcurrency +      pthread_setconcurrency +      pthread_attr_getscope +      pthread_attr_setscope  (only supports PTHREAD_SCOPE_SYSTEM) +      sched_get_priority_max +      sched_get_priority_min +      sched_rr_get_interval  (returns an error ENOTSUP) +      sched_setscheduler     (only supports SCHED_OTHER) +      sched_getscheduler     (only supports SCHED_OTHER) +      sched_yield + +      --------------------------- +      Signals +      --------------------------- +      pthread_sigmask +      pthread_kill           (only supports zero sig value, +                              for thread validity checking) + +      --------------------------- +      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, +						PTHREAD_MUTEX_ERRORCHECK_NP, +						PTHREAD_MUTEX_RECURSIVE_NP, +						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) + +      --------------------------- +      Static Initializers +      --------------------------- +      PTHREAD_ONCE_INIT +      PTHREAD_MUTEX_INITIALIZER +      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 + +      --------------------------- +      Thread-Safe C Runtime Library (macros) +      --------------------------- +      strtok_r +      asctime_r +      ctime_r +      gmtime_r +      localtime_r +      rand_r + + +The following functions are not implemented: +       +      --------------------------- +      RealTime Scheduling +      --------------------------- +      pthread_mutex_getprioceiling +      pthread_mutex_setprioceiling +      pthread_mutex_attr_getprioceiling +      pthread_mutex_attr_getprotocol +      pthread_mutex_attr_setprioceiling +      pthread_mutex_attr_setprotocol + +      --------------------------- +      Fork Handlers +      --------------------------- +      pthread_atfork + +      --------------------------- +      Stdio +      ---------------------------  +      flockfile +      ftrylockfile +      funlockfile +      getc_unlocked +      getchar_unlocked	 +      putc_unlocked +      putchar_unlocked + +      --------------------------- +      Thread-Safe C Runtime Library +      --------------------------- +      readdir_r +      getgrgid_r +      getgrnam_r +      getpwuid_r +      getpwnam_r +       +      --------------------------- +      Signals +      --------------------------- +      sigtimedwait +      sigwait +      sigwaitinfo + +      --------------------------- +      General +      --------------------------- +      sysconf       + +The library includes two non-API functions for creating cancellation +points in applications and libraries: +       +      pthreadCancelableWait +      pthreadCancelableTimedWait + +       +Availability +------------  + +The prebuilt DLL, export libs (for both MSVC and Mingw32), and the header +files (pthread.h, semaphore.h, sched.h) are available along with the +complete source code. + +The source code can be found at: + +	ftp://sources.redhat.com/pub/pthreads-win32 + +and as individual source code files at + +	ftp://sources.redhat.com/pub/pthreads-win32/source + +The pre-built DLL, export libraries and include files can be found at: + +	ftp://sources.redhat.com/pub/pthreads-win32/dll-latest + + +       +Mailing List  +------------   +       +There is a mailing list for discussing pthreads on Win32. To join, +send email to: + +	pthreads-win32-subscribe@sourceware.cygnus.com +       + +Application Development Environments +------------------------------------ + +See the README file for more information. +       +MSVC: +MSVC using SEH works. Distribute pthreadVSE.dll with your application. +MSVC using C++ EH works. Distribute pthreadVCE.dll with your application. +MSVC using C setjmp/longjmp works. Distribute pthreadVC.dll with your application. + + +Mingw32: +See the FAQ, Questions 6 and 10. + +Mingw using C++ EH works. Distribute pthreadGCE.dll with your application. +Mingw using C setjmp/longjmp works. Distribute pthreadGC.dll with your application. + + +Cygwin: (http://sourceware.cygnus.com/cygwin/) +Developers using Cygwin will not need pthreads-win32 since it has POSIX threads +support. Refer to its documentation for details and extent. + + +UWIN: +UWIN is a complete Unix-like environment for Windows from AT&T. Pthreads-win32 +doesn't currently support UWIN (and vice versa), but that may change in the +future. + +Generally: +For convenience, the following pre-built files are available on the FTP site +(see Availability above): + +	pthread.h	- for POSIX 1c threads +	semaphore.h	- for POSIX 1b semaphores +	sched.h 	- for POSIX 1b scheduling +	pthreadVCE.dll	- built with MSVC++ compiler using C++ EH +	pthreadVCE.lib +	pthreadVC.dll	- built with MSVC compiler using C setjmp/longjmp +	pthreadVC.lib +	pthreadVSE.dll	- built with MSVC compiler using SEH +	pthreadVSE.lib +	pthreadGCE.dll	- built with Mingw32 G++ 2.95.2-1 +	pthreadGC.dll	- built with Mingw32 GCC 2.95.2-1 using setjmp/longjmp +	libpthreadGCE.a - derived from pthreadGCE.dll +	libpthreadGC.a	- derived from pthreadGC.dll +	gcc.dll 	- needed if distributing applications that use +			  pthreadGCE.dll (but see the FAQ Q 10 for the latest +			  related information) + +These are the only files you need in order to build POSIX threads +applications for Win32 using either MSVC or Mingw32. + +See the FAQ file in the source tree for additional information. + + +Documentation +------------- + +For the authoritative reference, see the online POSIX +standard reference at: + +       http://www.OpenGroup.org + +For POSIX Thread API programming, several reference books are +available: + +       Programming with POSIX Threads +       David R. Butenhof +       Addison-Wesley (pub) + +       Pthreads Programming +       By Bradford Nichols, Dick Buttlar & Jacqueline Proulx Farrell +       O'Reilly (pub) + +On the web: see the links at the bottom of the pthreads-win32 site: + +       http://sources.redhat.com/pthreads-win32/ + +       Currently, there is no documentation included in the package apart +       from the copious comments in the source code. + + + +Enjoy! + +Ross Johnson | 
