Ross Johnson
Contributors (in approximate order of appearance)

[See also the ChangeLog file where individuals are
attributed in log entries. Likewise in the FAQ file.]

Ben Elliston            bje at cygnus dot com
                                        Initiated the project;
                                        setup the project infrastructure (CVS, web page, etc.);
                                        early prototype routines.
Ross Johnson            Ross.Johnson at homemail dot com dot au
                                        early prototype routines;
                                        ongoing project coordination/maintenance;
                                        implementation of spin locks and barriers;
                                        various enhancements;
                                        bug fixes;
Robert Colquhoun        rjc at trump dot net dot au
                                        Early bug fixes.
John E. Bossom          John dot Bossom at cognos dot com
                                        Contributed substantial original working implementation;
                                        bug fixes;
                                        ongoing guidance and standards interpretation.
Anders Norlander        anorland at hem2 dot passagen dot se
                                        Early enhancements and runtime checking for supported
                                        Win32 routines.
Tor Lillqvist           tml at iki dot fi
                                        General enhancements;
                                        early bug fixes to condition variables.
Scott Lightner          scott at curriculum dot com
                                        Bug fix.
Kevin Ruland            Kevin dot Ruland at anheuser-busch dot com
                                        Various bug fixes.
Mike Russo              miker at eai dot com
                                        Bug fix.
Mark E. Armstrong       avail at pacbell dot net
                                        Bug fixes.
Lorin Hochstein         lmh at xiphos dot ca
                                        general bug fixes; bug fixes to condition variables.
Peter Slacik            Peter dot Slacik at tatramed dot sk
                                        Bug fixes.
Mumit Khan              khan at xraylith dot wisc dot edu
                                        Fixes to work with Mingw32.
Milan Gardian           mg at tatramed dot sk
                                        Bug fixes and reports/analyses of obscure problems.
Aurelio Medina          aureliom at crt dot com
                                        First implementation of read-write locks.
Graham Dumpleton        Graham dot Dumpleton at ra dot pad dot otc dot telstra dot com dot au
                                        Bug fix in condition variables.
Tristan Savatier        tristan at mpegtv dot com
                                        WinCE port.
Erik Hensema            erik at hensema dot xs4all dot nl
                                        Bug fixes.
Rich Peters             rpeters at micro-magic dot com
Todd Owen               towen at lucidcalm dot dropbear dot id dot au
                                        Bug fixes to dll loading.
Jason Nye               jnye at nbnet dot nb dot ca
                                        Implementation of async cancelation.
Fred Forester           fforest at eticomm dot net
Kevin D. Clark          kclark at cabletron dot com
David Baggett           dmb at itasoftware dot com
                                        Bug fixes.
Paul Redondo            paul at matchvision dot com
Scott McCaskill         scott at 3dfx dot com
                                        Bug fixes.
Jef Gearhart            jgearhart at tpssys dot com
                                        Bug fix.
Arthur Kantor           akantor at bexusa dot com
                                        Mutex enhancements.
Steven Reddie           smr at essemer dot com dot au
                                        Bug fix.
Alexander Terekhov      TEREKHOV at de dot ibm dot com
                                        Re-implemented and improved read-write locks;
                                        (with Louis Thomas) re-implemented and improved
                                        condition variables;
                                        enhancements to semaphores;
                                        enhancements to mutexes;
                                        new mutex implementation in 'futex' style;
                                        suggested a robust implementation of pthread_once
                                        similar to that implemented by V.Kliathcko;
                                        system clock change handling re CV timeouts;
                                        bug fixes.
Thomas Pfaff            tpfaff at gmx dot net
                                        Changes to make C version usable with C++ applications;
                                        re-implemented mutex routines to avoid Win32 mutexes
                                        and TryEnterCriticalSection;
                                        procedure to fix Mingw32 thread-safety issues.
Franco Bez              franco dot bez at gmx dot de
                                        procedure to fix Mingw32 thread-safety issues.
Louis Thomas            lthomas at arbitrade dot com
                                        (with Alexander Terekhov) re-implemented and improved
                                        condition variables.
David Korn              dgk at research dot att dot com
                                        Ported to UWIN.
Phil Frisbie, Jr.       phil at hawksoft dot com
                                        Bug fix.
Ralf Brese              Ralf dot Brese at pdb4 dot siemens dot de
                                        Bug fix.
prionx at juno dot com  prionx at juno dot com
                                        Bug fixes.
Max Woodbury            mtew at cds dot duke dot edu
                                        POSIX versioning conditionals;
                                        reduced namespace pollution;
                                        idea to separate routines to reduce statically
                                        linked image sizes.
Rob Fanner              rfanner at stonethree dot com
                                        Bug fix.
Michael Johnson         michaelj at maine dot rr dot com
                                        Bug fix.
Nicolas Barry           boozai at yahoo dot com
                                        Bug fixes.
Piet van Bruggen        pietvb at newbridges dot nl
                                        Bug fix.
Makoto Kato             raven at oldskool dot jp
                                        AMD64 port.
Panagiotis E. Hadjidoukas       peh at hpclab dot ceid dot upatras dot gr
                                        Contributed the QueueUserAPCEx package which
                                        makes preemptive async cancelation possible.
Will Bryant             will dot bryant at ecosm dot com
                                        Borland compiler patch and makefile.
Anuj Goyal              anuj dot goyal at gmail dot com
                                        Port to Digital Mars compiler.
Gottlob Frege           gottlobfrege at  gmail dot com
                                        re-implemented pthread_once (version 2)
                                        (pthread_once cancellation added by rpj).
Vladimir Kliatchko      vladimir at kliatchko dot com
                                        reimplemented pthread_once with the same form
                                        as described by A.Terekhov (later version 2);
                                        implementation of MCS (Mellor-Crummey/Scott) locks.