diff options
author | rpj <rpj> | 1999-03-16 03:38:42 +0000 |
---|---|---|
committer | rpj <rpj> | 1999-03-16 03:38:42 +0000 |
commit | b9da92d0737f62da8db73ed76450ceba2611a81e (patch) | |
tree | 928feef182b1d8036a89dfb9f1b89deafcfc3b66 /ANNOUNCE | |
parent | c5573bf7ed426f069c951a15d726305c293d50b3 (diff) |
New file.
Diffstat (limited to 'ANNOUNCE')
-rw-r--r-- | ANNOUNCE | 322 |
1 files changed, 322 insertions, 0 deletions
diff --git a/ANNOUNCE b/ANNOUNCE new file mode 100644 index 0000000..daa72d3 --- /dev/null +++ b/ANNOUNCE @@ -0,0 +1,322 @@ + + PTHREADS-WIN32 SNAPSHOT 1999-03-15 + ---------------------------------- + Web Site: http://sourceware.cygnus.com/pthreads-win32/ + Coordinator: Ross Johnson <rpj@ise.canberra.edu.au> + + +We are pleased to announce the availability of Pthreads-win32, an +Open Source Software (OSS) implementation of the Threads component +of the POSIX 1003.1c 1996 Standard for Microsoft's Win32 +environment. + +Pthreads-win32 is free software, distributed under the GNU Library +General Public License (LGPL). + +This is the first general announcement of the library in workable +form. We expect it to be stable in the real world having passed it's +own test suite, however, if you do find bugs in the library please +let us know either via the mailing list (see below), or by emailing +the coordinator directly (see above). + +Pthreads-win32 is based substantially on a Win32 pthreads +implementation contributed by John E. Bossom <jebossom@cognos.com>. + +Please see the 'Acknowledgements' section at the end of this +announcement for the list of contributors. + + +Level of standards conformance +------------------------------ + +The following POSIX 1003.1c 1996 options are defined: + + _POSIX_THREADS + _POSIX_THREAD_SAFE_FUNCTIONS + _POSIX_THREAD_ATTR_STACKSIZE + + +The following POSIX 1003.1c 1996 options are not defined: + + _POSIX_THREAD_ATTR_STACKADDR + _POSIX_THREAD_PRIORITY_SCHEDULING + _POSIX_THREAD_PRIO_INHERIT + _POSIX_THREAD_PRIO_PROTECT + _POSIX_THREAD_PROCESS_SHARED + + +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_mutex_init + pthread_mutex_destroy + pthread_mutex_lock + pthread_mutex_trylock + 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 + + --------------------------- + RealTime Scheduling + --------------------------- + pthread_attr_getschedparam + pthread_attr_setschedparam + pthread_getschedparam + pthread_setschedparam + sched_get_priority_max + sched_get_priority_min + + --------------------------- + Signals + --------------------------- + pthread_sigmask + + --------------------------- + Static Initializers (macros) + --------------------------- + PTHREAD_ONCE_INIT + PTHREAD_MUTEXINITIALIZER + PTHREAD_COND_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_attr_getinheritsched + pthread_attr_getschedpolicy + pthread_attr_getscope + pthread_attr_setinheritsched + pthread_attr_setschedpolicy + pthread_attr_setscope + 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 + --------------------------- + pthread_kill + sigtimedwait + sigwait + sigwaitinfo + + +The library includes two non-API functions for creating cancellation +points in applications and libraries: + + pthreadCancelableWait + pthreadCancelableTimedWait + + +Availability +------------ + +For the prebuilt DLL, export libs (for both MSVC and Mingw32), and +pthread.h: + +ftp://sourceware.cygnus.com/pub/pthreads-win32/pthreads-dll-1999-03-15 + +Source tree: + +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 + + +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 +------------------------------------ + +MSVC: +MSVC can be used of course. + +Mingw32: (ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/egcs-1.1.1/) +Mingw32 must use the thread-safe MSVCRT library. You can link +against the export library libpthread32.a built under Mingw32 +together with the version of pthread.dll built with MSVC. + +Cygwin: (http://sourceware.cygnus.com/cygwin/) +Cygwin does not have thread-safe libraries and should not be used +for threaded applications. + +Generally: +For convenience, the following pre-built files can be downloaded from +the FTP site: + + ftp://sourceware.cygnus.com/pub/pthreads-win32/dll-latest/ + + 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) + +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. + + +Building the library with MSVC +------------------------------- + +There is currently no Makefile for building the library under MSVC. +There is a batch file "buildlib.bat" which will build the library. + + +Why you can't build the library with Cygwin or Mingw32 (yet) +------------------------------------------------------------ + +The library makes use of exception handling internally (Win32 SEH if +compiled with MSVC and C++ EH otherwise). Unfortunately, current +versions of egcs (g++) do not have thread-safe exception handling +and therefore the DLL pthread.dll cannot be built under either +Mingw32 or Cygwin. + + +Documentation +------------- + +Currently, there is no documentation included in the package apart +from the copious comments in the source code. + +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) + + +Acknowledgements +---------------- + +This library is based substantially on a Win32 pthreads +implementation contributed by John Bossom <John.Bossom@cognos.com>. + +The implementation of condition variables is derived from the work +of Douglas Schmidt et al +(http://www.cs.wustl.edu/~schmidt/win32-cv-1.html). + +Project Contributors (in order of appearance): + +Ben Elliston <bje@cygnus.com> +Ross Johnson <rpj@ise.canberra.edu.au> +Robert Colquhoun <rjc@trump.net.au> +John E. Bossom <John.Bossom@cognos.com> +Anders Norlander <anorland@hem2.passagen.se> +Tor Lillqvist <tml@iki.fi> +Kevin Ruland <Kevin.Ruland@anheuser-busch.com> + + +Enjoy! + +Ross Johnson |