2001-07-09  Ross Johnson  <rpj@setup1.ise.canberra.edu.au>

	* barrier3.c: Fixed.
	* barrier4.c: Fixed.
	* barrier5.c: New; proves that all threads in the group
	reaching the barrier wait and then resume together. Repeats the test
	using groups of 1 to 16 threads. Each group of threads must negotiate
	a large number of barriers (10000).
	* spin4.c: Fixed.
	* test.h (error_string): Modified the success (0) value.

2001-07-07  Ross Johnson  <rpj@setup1.ise.canberra.edu.au>

	* spin3.c: Changed test and fixed.
	* spin4.c: Fixed.
	* barrier3.c: Fixed.
	* barrier4.c: Fixed.

2001-07-05  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* spin1.c: New; testing spinlocks.
	* spin2.c: New; testing spinlocks.
	* spin3.c: New; testing spinlocks.
	* spin4.c: New; testing spinlocks.
	* barrier1.c: New; testing barriers.
	* barrier2.c: New; testing barriers.
	* barrier3.c: New; testing barriers.
	* barrier4.c: New; testing barriers.
	* GNUmakefile: Add new tests.
	* Makefile: Add new tests.

2001-07-01  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* benchtest3.c: New; timing mutexes.
	* benchtest4.c: New; time mutexes.
	* condvar3_1.c: Fixed bug - Alexander Terekhov
	* condvar3_3.c: New test.

2001-06-25  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* priority1.c: New test.
	* priority2.c: New test.
	* inherit1.c: New test.
	* benchtest1.c: New; timing mutexes.
	* benchtest2.c: New; timing mutexes.
	* mutex4.c: Modified to test all mutex types.

2001-06-8  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* mutex5.c: Insert inert change to quell compiler warnings.
	* condvar3_2.c: Remove unused variable.
	
2001-06-3  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* condvar2_1.c: New test.
	* condvar3_1.c: New test.
	* condvar3_2.c: New test.

2001-05-30  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* mutex1n.c: New test.
	* mutex1e.c: New test.
	* mutex1r.c: New test.
	* mutex4.c: Now locks and unlocks a mutex.
	* mutex5.c: New test.
	* mutex6.c: New test.
	* mutex6n.c: New test.
	* mutex6e.c: New test.
	* mutex6r.c: New test.
	* Makefile: Added new tests; reorganised.
	* GNUmakefile: Likewise.
	* rwlock6.c: Fix to properly prove read-while-write locking
	and single writer locking.

2001-05-29  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* Makefile: Reorganisation.
	* GNUmakefile: Likewise.
	- Thomas Pfaff <tpfaff@gmx.net>

	* exception1.c: Add stdio.h include to define fprintf and stderr
	in non-exception C version of main().
	* exception2.c: Likewise.
	* exception3.c: Likewise.

	* Makefile (rwlock7): Add new test.
	* GNUmakefile (rwlock7): Add new test.
	* rwlock7.c: New test.
	* rwlock6.c: Changed to test that writer has priority.

	* eyal1.c (main): Unlock each mutex_start lock before destroying
	it.

2000-12-29  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* GNUmakefile: Add mutex4 test; ensure libpthreadw32.a is
	removed for "clean" target.
	* Makefile: Add mutex4 test.

	* exception3.c: Remove SEH code; automatically pass the test
	under SEH (which is an N/A environment).

	* mutex4.c: New test.

	* eyal1.c (do_work_unit): Add a dummy "if" to force the
	optimiser to retain code; reduce thread work loads.

	* condvar8.c (main): Add an additional "assert" for debugging;
	increase pthread_cond_signal timeout.

2000-12-28  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* eyal1.c: Increase thread work loads.
	* exception2.c: New test.
	* exception3.c: New test.
	* Makefile: Add new tests exception2.c and exception3.c.
	* GNUmakefile: Likewise.

2000-12-11  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* cleanup3.c: Remove unused variable.
	* cleanup2.c: Likewise.
	* exception1.c: Throw an exception rather than use
	a deliberate zero divide so that catch(...) will
	handle it under Mingw32. Mingw32 now builds the
	library correctly to pass all tests - see Thomas
	Pfaff's detailed instructions re needed changes
	to Mingw32 in the Pthreads-Win32 FAQ.

2000-09-08  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* cancel5.c: New; tests calling pthread_cancel()
	from the main thread without first creating a
	POSIX thread struct for the non-POSIX main thread
	- this forces pthread_cancel() to create one via
	pthread_self().
	* Makefile (cancel5): Add new test.
	* GNUmakefile (cancel5): Likewise.

2000-08-17  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* create2.c: New; Test that pthread_t contains
	the W32 HANDLE before it calls the thread routine
	proper.

2000-08-13  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* condvar3.c: Minor change to eliminate compiler
	warning.

	* condvar4.c: ditto.

	* condvar5.c: ditto.

	* condvar6.c: ditto.

	* condvar7.c: ditto.

	* condvar8.c: ditto.

	* condvar9.c: ditto.

	* exit1.c: Function needed return statement.

	* cleanup1.c: Remove unnecessary printf arg.

	* cleanup2.c: Fix cast.

	* rwlock6.c: Fix casts.

	* exception1.c (PtW32CatchAll): Had the wrong name;
	fix casts.

	* cancel3.c: Remove unused waitLock variable.

	* GNUmakefile: Change library/dll naming; add new tests;
	general minor changes.

	* Makefile: Change library/dll naming; add targets for
	testing each of the two VC++ EH scheme versions;
	default target now issues help message; compile warnings
	now interpreted as errors to stop the make; add new
	tests; restructure to remove prerequisites needed
	otherwise.

	* README: Updated.


2000-08-10  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* eyal1.c (main): Change implicit cast to explicit
	cast when passing "print_server" function pointer;
	G++ no longer allows implicit func parameter casts.

	* cleanup1.c: Remove unused "waitLock".
	(main): Fix implicit parameter cast.

	* cancel2.c (main): Fix implicit parameter cast.

	* cancel4.c (main): Fix implicit parameter cast.

	* cancel3.c (main): Fix implicit parameter cast.

	* GNUmakefile: Renamed from Makefile; Add missing
	cancel1 and cancel2 test targets.

	* Makefile: Converted for use with MS nmake.

2000-08-06  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* ccl.bat: Add /nologo to remove extraneous output.

	* exception1.c (exceptionedThread): Init 'dummy';
	put expression into if condition to prevent optimising away;
	remove unused variable.

	* cancel4.c (mythread): Cast return value to avoid warnings.

	* cancel2.c (mythread): Missing #endif.

	* condvar9.c (mythread): Cast return value to avoid warnings.

	* condvar8.c (mythread): Cast return value to avoid warnings.

	* condvar7.c (mythread): Cast return value to avoid warnings.

	* cleanup3.c (mythread): Cast return value to avoid warnings.

	* cleanup2.c (mythread): Cast return value to avoid warnings.

	* cleanup1.c (mythread): Cast return value to avoid warnings.

	* condvar5.c (mythread): Cast return value to avoid warnings.

	* condvar3.c (mythread): Cast return value to avoid warnings.

	* condvar6.c (mythread): Cast return value to avoid warnings.

	* condvar4.c (mythread): Cast return value to avoid warnings.

2000-08-05  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* cancel2.c: Use PtW32CatchAll macro if defined.

	* exception1.c: Use PtW32CatchAll macro if defined.

2000-08-02  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* tsd1.c: Fix typecasts of &result [g++ is now very fussy].
	
	* test.h (assert): Return 0's explicitly to allay
	g++ errors.
	
	* join2.c: Add explicit typecasts.
	
	* join1.c: Add explicit typecasts.
	
	* join0.c: Add explicit typecasts.
	
	* eyal1.c: Add explicit typecasts.
	
	* count1.c (main): Add type cast to remove g++ parse warning
	[gcc-2.95.2 seems to have tightened up on this].

	* Makefile (GLANG): Use c++ explicitly.
	Remove MSVC sections (was commented out).
	Add target to generate cpp output.

2000-07-25  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* runtest.bat: modified to work under W98.
	
	* runall.bat: Add new tests; modified to work under W98.
	It was ok under NT.

	* Makefile: Add new tests.

	* exception1.c: New; Test passing exceptions back to the
	application and retaining library internal exceptions.

	* join0.c: New; Test a single join.

2000-01-06  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* cleanup1.c: New; Test cleanup handler executes (when thread is
	canceled).

	* cleanup2.c: New; Test cleanup handler executes (when thread is
	not canceled).

	* cleanup3.c: New; Test cleanup handler does not execute
	(when thread is not canceled).

2000-01-04  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* cancel4.c: New; Test cancelation does not occur in deferred
	cancelation threads with no cancelation points.

	* cancel3.c: New; Test asynchronous cancelation.

	* context1.c: New; Test context switching method for async
	cancelation.

1999-11-23  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	* test.h: Add header includes; include local header versions rather
	than system versions; rearrange the assert macro defines.

1999-11-07  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* loadfree.c: New. Test loading and freeing the library (DLL).

1999-10-30  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* cancel1.c: New. Test pthread_setcancelstate and
	pthread_setcanceltype functions.
	* eyal1.c (waste_time): Change calculation to avoid FP exception
	on Aplhas
	- Rich Peters <rpeters@micro-magic.com>

Oct 14 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* condvar7.c: New. Test broadcast after waiting thread is canceled.
	* condvar8.c: New. Test multiple broadcasts.
	* condvar9.c: New. Test multiple broadcasts with thread
	cancelation.
	
Sep 16 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* rwlock6.c: New test.

Sep 15 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* rwlock1.c: New test.
	* rwlock2.c: New test.
	* rwlock3.c: New test.
	* rwlock4.c: New test.
	* rwlock5.c: New test.

Aug 22 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* runall.bat (join2): Add test.

Aug 19 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* join2.c: New test.

Wed Aug 12 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* Makefile (LIBS): Add -L.

Mon May 31 10:25:01 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* Makefile (GLANG): Add GCC language option.

Sat May 29 23:29:04 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* runall.bat (condvar5): Add new test.

	* runall.bat (condvar6): Add new test.

	* Makefile (condvar5) : Add new test.
	
	* Makefile (condvar6) : Add new test.
	
	* condvar5.c: New test for pthread_cond_broadcast().

	* condvar6.c: New test for pthread_cond_broadcast().

Sun Apr  4 12:04:28 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* tsd1.c (mythread): Change Sleep(0) to sched_yield().
	(sched.h): Include.

	* condvar3.c (mythread): Remove redundant Sleep().

	* runtest.bat: Re-organised to make more informative.

Fri Mar 19 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* *.bat: redirect unwanted output to nul:

	* runall.bat: new.

	* cancel1.c: new. Not part of suite yet.
	
Mon Mar 15 00:17:55 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* mutex1.c: only test mutex init and destroy; add assertions.

	* count1.c: raise number of spawned threads to 60 (appears to
	be the limit under Win98).

Sun Mar 14 21:31:02 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* test.h (assert): add assertion trace option.
	Use:
	"#define ASSERT_TRACE 1" to turn it on,
	"#define ASSERT_TRACE 0" to turn it off (default).

	* condvar3.c (main): add more assertions.

	* condvar4.c (main): add more assertions.

	* condvar1.c (main): add more assertions.

Fri Mar 12 08:34:15 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* condvar4.c (cvthing): switch the order of the INITIALIZERs.

	* eyal1.c (main): Fix trylock loop; was not waiting for thread to lock
	the "started" mutex.

Wed Mar 10 10:41:52 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* tryentercs.c: Apply typo patch from bje.

	* tryentercs2.c: Ditto.

Sun Mar  7 10:41:52 1999  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* Makefile (condvar3, condvar4): Add tests.

	* condvar4.c (General): Reduce to simple test case; prerequisite
	is condvar3.c; add description.

	* condvar3.c (General): Reduce to simple test case; prerequisite
	is condvar2.c; add description.

	* condvar2.c (General): Reduce to simple test case; prerequisite
	is condvar1.c; add description.

	* condvar1.c (General): Reduce to simple test case; add
	description.

	* Template.c (Comments): Add generic test detail.

1999-02-23  Ross Johnson  <rpj@ise.canberra.edu.au>

        * Template.c: Revamp.

        * condvar1.c: Add.

        * condvar2.c: Add.

        * Makefile: Add condvar1 condvar2 tests.

        * exit1.c, exit2.c, exit3.c: Cosmetic changes.

1999-02-23  Ross Johnson  <rpj@ise.canberra.edu.au>

	* Makefile: Some refinement.

	* *.c: More exhaustive checking through assertions; clean up;
	add some more tests.

	* Makefile: Now actually runs the tests.

	* tests.h: Define our own assert macro. The Mingw32
	version pops up a dialog but we want to run non-interactively.

	* equal1.c: use assert a little more directly so that it
	prints the actual call statement.

	* exit1.c: Modify to return 0 on success, 1 on failure.

1999-02-22  Ross Johnson  <rpj@ise.canberra.edu.au>

	* self2.c: Bring up to date.

	* self3.c: Ditto.

1999-02-21  Ben Elliston  <bje@cygnus.com>

	* README: Update.

	* Makefile: New file. Run all tests automatically. Primitive tests
	are run first; more complex tests are run last.

	* count1.c: New test. Validate the thread count.

	* exit2.c: Perform a simpler test.
	
	* exit3.c: New test. Replaces exit2.c, since exit2.c needs to
	perform simpler checking first.

	* create1.c: Update to use the new testsuite exiting convention.
	
	* equal1.c: Likewise.

	* mutex1.c: Likewise.

	* mutex2.c: Likewise.

	* once1.c: Likewise.

	* self2.c: Likewise.

	* self3.c: Likewise.

	* tsd1.c: Likewise.

1999-02-20  Ross Johnson  <rpj@ise.canberra.edu.au>

	* mutex2.c: Test static mutex initialisation.

	* test.h: New. Declares a table mapping error numbers to
	error names.

1999-01-17  Ross Johnson  <rpj@ise.canberra.edu.au>

	* runtest: New script to build and run a test in the tests directory.

Wed Dec 30 11:22:44 1998  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* tsd1.c: Re-written. See comments at start of file.
	* Template.c: New. Contains skeleton code and comment template
	intended to fully document the test.

Fri Oct 16 17:59:49 1998  Ross Johnson  <rpj@swan.canberra.edu.au>

	* tsd1.c (destroy_key): Add function. Change diagnostics.

Thu Oct 15 17:42:37 1998  Ross Johnson  <rpj@swan.canberra.edu.au>

	* tsd1.c (mythread): Fix some casts and add some message
	output. Fix inverted conditional.

Mon Oct 12 02:12:29 1998  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>

	* tsd1.c: New. Test TSD using 1 key and 2 threads.

1998-09-13  Ben Elliston  <bje@cygnus.com>

	* eyal1.c: New file; contributed by Eyal Lebedinsky
	<eyal@eyal.emu.id.au>.

1998-09-12  Ben Elliston  <bje@cygnus.com>

	* exit2.c (func): Return a value.
	(main): Call the right thread entry function.

1998-07-22  Ben Elliston  <bje@cygnus.com>

	* exit2.c (main): Fix size of pthread_t array.

1998-07-10  Ben Elliston  <bje@cygnus.com>

	* exit2.c: New file; test pthread_exit() harder.

	* exit1.c: New file; test pthread_exit().