This is the mail archive of the pthreads-win32@sourceware.cygnus.com mailing list for the pthreads-win32 project. See the pthreads-win32 home page for more information.
PTHREADS-WIN32 SNAPSHOT 1999-03-15 ---------------------------------- This snapshot represents the most stable and complete version of pthreads-win32 to date and future work on the package will focus primarily on testing and proving the stability of the library. More test cases and real-world applications are needed but it is a pleasure to see that all of the current tests pass. From this point on, snapshots will only be released after first passing the test suite. Further to this, the plan is that any changes checked into the CVS repository will have also first passed the test suite. Acknowledgements ---------------- This library is based on a Win32 pthreads implementation by John Bossom <John.Bossom@cognos.com>. Thanks to everyone who has contributed suggestions, additions and patches. Please see the MAINTAINERS file for the list of contributors. What's new in this snapshot? ---------------------------- - statically initialised condition variables have been implemented - new tests have been added and existing ones have been refined - all tests in the current test suite complete successfully - minor improvements to the testing framework What is still needed? --------------------- - more test cases. - more use in real-world applications. - MSVC Makefiles to replace the buildlib.bat and build.bat scripts provided. - further tuning to different systems. For example, Win98 can only spawn about 60 threads before pthread_create fails. On a dual CPU WinNT machine the limit appears to be around 3200. The value of PTHREAD_THREADS_MAX is currently set at 2019, which is a limit found by John on one of his WinNT machines. - more feedback from people using the library. What is planned for the next snapshot ------------------------------------- - more test cases - MSVC makefiles API completness ---------------- Please see the include file "pthread.h" for the list of those API functions that have been implemented (and not) in the library. Missing from the library are the priority scheduling group of functions, some signalling functions, and pthread_fork. Therefore the library as it stands should represent a very workable implementation for the majority of application development and porting projects. Availability. ------------- For the very latest source code from the CVS repository, see under "Where can I get it?" on the web page: http://sourceware.cygnus.com/pthreads-win32/ A gzipped tar file of this snapshot is available at: ftp://sourceware.cygnus.com/pub/pthreads-win32/pthreads-snap-1999-03-15.tar.gz Source files are available in unpacked form at: ftp://sourceware.cygnus.com/pub/pthreads-win32/sources The prebuilt DLL, export libs for both MSVC and Mingw32, and the standard include file pthread.h are available at: ftp://sourceware.cygnus.com/pub/pthreads-win32/pthreads-dll-1999-03-15 Here is the README file ----------------------- This directory contains an implementation of pthreads for Win32. Mailing list ------------ There is a mailing list for discussing pthreads on Win32 which is managed by Majordomo. To subscribe, send mail to majordomo@air.net.au and place the fllowing text in the message body: subscribe pthreads-win32 Building the library with Cygwin32 or Mingw32 --------------------------------------------- Feb 18, 1999 If you have a suitable environment then you can run the configure script, otherwise you should edit "Makefile" and "config.h" as required. gcc cannot be used because the library requires C++ EH. g++ must be used (but see below). The DLL pthread.dll still cannot be built using g++ due to non thread-safe exception handling in g++. Thanks to Kevin Ruland for researching this one. See the FAQ Question 2 for more information. However, you can use the export library libpthread32.a built under Mingw32 (not tested under Cygwin32) together with the pthread.dll built with MSVC. Thanks to Anders Norlander for pointing this out. For convenience, the following pre-built files can be downloaded from the FTP site (see under "Availability" below): pthread.h - the standard include file pthread.dll - built with MSVC cl compiler pthread.lib - built with MSVC cl compiler libpthread32.a - built with Mingw32 (use with MSVC pthread.dll) With these files in the same directory as your application myapp.c, you could compile, link and run myapp.c under Mingw32 as follows: gcc -o myapp.exe myapp.c -I. -L. -lpthread32 myapp Or put pthread.dll in an appropriate directory in your PATH, put libpthread32.a in MINGW_ROOT\i386-mingw32\lib, and put pthread.h in MINGW_ROOT\i386-mingw32\include, then use: gcc -o myapp.exe myapp.c -lpthread32 myapp Availability ------------ The complete source code in either unbundled or tar/gzipped format can be found at: ftp://sourceware.cygnus.com/pub/pthreads-win32 The pre-built DLL, export libraries and matching pthread.h can be found at: ftp://sourceware.cygnus.com/pub/pthreads-win32/dll-latest Home page: http://sourceware.cygnus.com/pthreads-win32/ Thanks. Ross +----------------------+---+ | Ross Johnson | | E-Mail: rpj@ise.canberra.edu.au | Info Sciences and Eng|___| | University of Canberra | FAX: +61 6 2015227 | PO Box 1 | | Belconnen ACT 2616 | WWW: http://willow.canberra.edu.au/~rpj/ | AUSTRALIA | +--------------------------+