| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476 | 	     PTHREADS-WIN32 RELEASE 2.8.0 (2006-12-22)	     -----------------------------------------	 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 ofPthreads-win32, an Open Source Software implementation of theThreads component of the POSIX 1003.1 2001 Standard for Microsoft'sWin32 environment. Some functions from other sections of POSIX1003.1 2001 are also supported including semaphores and schedulingfunctions.Some common non-portable functions are also implemented foradditional compatibility, as are a few functions specificto pthreads-win32 for easier integration with Win32 applications.Pthreads-win32 is free software, distributed under the GNU LesserGeneral Public License (LGPL).Acknowledgements----------------This library is based originally on a Win32 pthreadsimplementation contributed by John Bossom <John.Bossom@cognos.com>.The implementation of Condition Variables uses algorithms developedby Alexander Terekhov and Louis Thomas.The implementation of POSIX mutexes has been improved by Thomas Pfaffand later by Alexander Terekhov.The implementation of Spinlocks and Barriers was contributedby Ross Johnson.The implementation of read/write locks was contributed byAurelio Medina and improved by Alexander Terekhov.Many others have contributed significant time and effort to solve crutialproblems in order to make the library workable, robust and reliable.Thanks to Xavier Leroy for granting permission to use and modify hisLinuxThreads manual pages.Thanks to The Open Group for making the Single Unix Specificationpublicly available - many of the manual pages included in the packagewere extracted from it.There is also a separate CONTRIBUTORS file. This file and others areon the web site:	http://sources.redhat.com/pthreads-win32As much as possible, the ChangeLog file acknowledges contributions to thecode 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_BARRIERSThe 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_SHAREDThe following POSIX 1003.1 2001 limits are defined and set:      _POSIX_THREAD_THREADS_MAX      _POSIX_SEM_VALUE_MAX      _POSIX_SEM_NSEMS_MAX      _POSIX_THREAD_KEYS_MAX      _POSIX_THREAD_DESTRUCTOR_ITERATIONS      PTHREAD_STACK_MIN      PTHREAD_THREADS_MAX      SEM_VALUE_MAX      SEM_NSEMS_MAX      PTHREAD_KEYS_MAX      PTHREAD_DESTRUCTOR_ITERATIONSThe 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_getvalue	     (# free if +ve, # of waiters if -ve)      sem_open		     (returns an error ENOSYS)      sem_close 	     (returns an error ENOSYS)      sem_unlink	     (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_rThe 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 cancellationpoints in applications and libraries:            pthreadCancelableWait      pthreadCancelableTimedWait      Availability------------ The prebuilt DLL, export libs (for both MSVC and Mingw32), and the headerfiles (pthread.h, semaphore.h, sched.h) are available along with thecomplete source code.The source code can be found at:	ftp://sources.redhat.com/pub/pthreads-win32and as individual source code files at	ftp://sources.redhat.com/pub/pthreads-win32/sourceThe 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 threadssupport. Refer to its documentation for details and extent.UWIN:UWIN is a complete Unix-like environment for Windows from AT&T. Pthreads-win32doesn't currently support UWIN (and vice versa), but that may change in thefuture.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 threadsapplications 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 POSIXstandard reference at:       http://www.OpenGroup.orgFor POSIX Thread API programming, several reference books areavailable:       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
 |